Olá, fiquei com uma dúvida em uma aula de programação.
 
	Para contextualizar: o professor escreveu um módulo chamado Bhaskara que possui uma função que calcula raízes de uma equação do segundo grau.
 
	___________________________________________________________________________________________________
 
	Aqui está o módulo Bhaskara:
 
	import math
 
	class Bhaskara: 
	    def delta(self, a, b, c): 
	        return b ** 2 - 4 * a * c
 
	    def main(self): 
	        a_digitado = float(input("Digite o valor de a: ")) 
	        b_digitado = float(input("Digite o valor de b: ")) 
	        c_digitado = float(input("Digite o valor de c:  ")) 
	        print(self.calcula_raizes(a_digitado, b_digitado, c_digitado))
 
	    def calcula_raizes(self, a, b, c): 
	        d = self.delta(a, b, c) 
	        if d == 0: 
	            raiz1 = (-b + math.sqrt(d)) / (2 * a) 
	            return 1, raiz1 
	        else: 
	            if d < 0: 
	                return 0 
	            else: 
	                raiz1 = (-b + math.sqrt(d)) / (2 * a) 
	                raiz2 = (-b - math.sqrt(d)) / (2 * a) 
	                return 2, raiz1, raiz2
 
	___________________________________________________________________________________________________
 
	E aqui está uma bateria de testes do módulo Bhaskara, também escrita pelo professor:
 
	import Bhaskara 
	import pytest
 
	class TestBhaskara:
 
	    @pytest.fixture 
	    def b(self): 
	        return Bhaskara.Bhaskara()
 
	    def testa_uma_raiz(self, b): 
	        assert b.calcula_raizes(1, 0, 0) == (1, 0) 
	     
	    def testa_duas_raizes(self, b): 
	        assert b.calcula_raizes(1, -5, 6) == (2, 3, 2)
 
	    def testa_zero_raizes(self, b): 
	        assert b.calcula_raizes(10, 10, 10) == 0
 
	    def testa_raiz_negativa(self, b): 
	        assert b.calcula_raizes(10, 20, 10) == (1, -1)
 
	___________________________________________________________________________________________________
 
	Minha dúvida é: existe uma razão para usar essa função fixture do pytest? É uma fatoração melhor? Porque eu pensei em simplesmente fazer os testes dessa forma:
 
	import Bhaskara 
	import pytest
 
	b = Bhaskara.Bhaskara()
 
	class TestBhaskara:
 
	    def testa_uma_raiz(self): 
	        assert b.calcula_raizes(1, 0, 0) == (1, 0) 
	     
	    def testa_duas_raizes(self): 
	        assert b.calcula_raizes(1, -5, 6) == (2, 3, 2)
 
	    def testa_zero_raizes(self): 
	        assert b.calcula_raizes(10, 10, 10) == 0
 
	    def testa_raiz_negativa(self): 
	        assert b.calcula_raizes(10, 20, 10) == (1, -1)
 
	 
 
	Há algum problema em fazer dessa maneira? Afinal, os testes funcionam igualmente.
 
	Agradeço pela atenção, ficarei grato se puder esclarecer isso para mim.