У меня есть набор тестов для тестирования дыма. У меня весь сценарий хранится в разных классах, но когда я пытаюсь запустить набор тестов, я не могу заставить его работать, если он в классе. Код ниже: (класс для вызова тестов)
from alltests import SmokeTests
class CallTests(SmokeTests):
def integration(self):
self.suite()
if __name__ == '__main__':
run = CallTests()
run.integration()
И набор тестов:
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')
Этот вывод является ошибкой:
Ошибка атрибута: у объекта 'module' нет атрибута 'suite'
Итак, я вижу, как вызывать определенную обычную функцию, но мне трудно вызывать ее в комплекте. В одном из тестов комплект настроен так:
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)
Если у меня есть someSuite () внутри класса SmokeTests, python не может найти набор атрибутов, но если я удаляю класс, он работает. Я запускаю это как скрипт и вызываю переменные в тестах. Я не хочу запускать тесты с помощью os.system ('python tests.py'). Я надеялся вызвать тесты через класс, который у меня есть, как и любая другая функция
Может кто-нибудь помочь мне с этим запустить?
Спасибо за любую помощь заранее.