Mon framework d'automatisation utilise le type de test pytest setup/teardown à la place des appareils. J'ai aussi plusieurs niveaux de classes:pytest: obtention des valeurs de paramétrage lors de la configuration/démontage
BaseClass
- le plus élevé, tous les tests inhriet de lui
FeatureClass
- moyen, tous les tests liés aux programmes comportent en héritent
TestClass
- tenir les tests réels
modifier, pour l'amour des exemples, je change la DB appelle à une simple impression
Je veux ajouter un rapport DB dans toutes les configurations/démontages. c'est-à-dire que je veux que le général BaseClass
setup_method
crée une entrée DB pour le test et que teardown_method
modifie l'entrée avec les résultats. J'ai essayé mais je n'arrive pas à sortir de la méthode les valeurs du test en cours pendant l'exécution. est-ce possible même? et sinon, comment pourrais-je faire autrement?
échantillons: (en base.py)
class Base(object):
test_number = 0
def setup_method(self, method):
Base.test_number += 1
self.logger.info(color.Blue("STARTING TEST"))
self.logger.info(color.Blue("Current Test: {}".format(method.__name__)))
self.logger.info(color.Blue("Test Number: {}".format(self.test_number)))
# --->here i'd like to do something with the actual test parameters<---
self.logger.info("print parameters here")
def teardown_method(self, method):
self.logger.info(color.Blue("Current Test: {}".format(method.__name__)))
self.logger.info(color.Blue("Test Number: {}".format(self.test_number)))
self.logger.info(color.Blue("END OF TEST"))
(en my_feature.py)
class MyFeature(base.Base):
def setup_method(self, method):
# enable this feature in program
return True
(en test_my_feature.py)
class TestClass(my_feature.MyFeature):
@pytest.mark.parametrize("fragment_length", [1,5,10])
def test_my_first_test(self):
# do stuff that is changed based on fragment_length
assert verify_stuff(fragment_length)
alors comment peut-i obtenir les paramètres dans setup_method, de la classe parente de base du framework de test?
Utilisez-vous 'unittest.TestCase'? Ensuite, vous pouvez définir les valeurs dans 'setup' à' self' et les récupérer dans les tests. Plus de détails comme un exemple de code est nécessaire pour répondre à cette question. – Arunmozhi
@Arunmozhi J'ai ajouté du code de base, j'espère que cela clarifiera ce que j'essaie de faire –