J'ai une suite de tests pour effectuer des tests de fumée. J'ai tout mon script stocké dans diverses classes, mais quand j'essaie de lancer la suite de tests, je n'arrive pas à la faire fonctionner si elle est dans une classe. Le code est ci-dessous: (une classe pour appeler les essais)Exécution d'un test de test unittest OO
from alltests import SmokeTests
class CallTests(SmokeTests):
def integration(self):
self.suite()
if __name__ == '__main__':
run = CallTests()
run.integration()
Et la suite de tests:
class SmokeTests():
def suite(self): #Function stores all the modules to be tested
modules_to_test = ('external_sanity', 'internal_sanity')
alltests = unittest.TestSuite()
for module in map(__import__, modules_to_test):
alltests.addTest(unittest.findTestCases(module))
return alltests
if __name__ == '__main__':
unittest.main(defaultTest='suite')
une de cette sortie erreur: Attribute Erreur: objet 'module' n'a pas d'attribut « suite '
Donc, je peux voir comment appeler une fonction normale définie, mais je trouve qu'il est difficile d'appeler dans la suite. Dans l'un des essais, la suite est mis en place comme ceci:
class InternalSanityTestSuite(unittest.TestSuite):
# Tests to be tested by test suite
def makeInternalSanityTestSuite():
suite = unittest.TestSuite()
suite.addTest(TestInternalSanity("BasicInternalSanity"))
suite.addTest(TestInternalSanity("VerifyInternalSanityTestFail"))
return suite
def suite():
return unittest.makeSuite(TestInternalSanity)
Si je someSuite() dans le python classe de SmokeTests ne peut pas trouver la suite d'attribut, mais si je retire la classe qu'il travail de. Je cours ceci comme un script et appelle des variables dans les tests. Je ne veux pas avoir à exécuter les tests par os.system ('python tests.py'). J'espérais appeler les tests à travers la classe que j'ai comme toute autre fonction
Quelqu'un peut-il m'aider à obtenir cette course?
Merci pour toute aide à l'avance.
-1: Veuillez ne pas réécrire complètement le code que vous avez posté. Fermez la question et postez une nouvelle question avec un code totalement nouveau. –
@everyone - Vous avez ce travail dans la question suivante. – chrissygormley