У меня есть несколько классов тестовых примеров, организованных в каталогах
foo_tests
foo_tests1.py
foo_tests2.py
...
bar_tests
bar_tests1.py
...
Контрольные примеры выглядят так:
foo_tests1.py:
import unittest
class FooTestsOne(unittest.TestCase):
def test_1():
assert(1=1)
def test_2():
#...
Как вы организуете наборы тестов из подобных классов? В unittest есть средства для объектов TestLoaders и TestSuite, но где они объявлены и использованы? Я хочу определить определенные наборы в отдельном файле, с которым я могу запускать тесты:
suite1.py
import unittest
import foo_test1
suite = unittest.TestSuite((unittest.makeSuite(foo_tests1.FooTestsOne),
unittest.makeSuite(foo_tests2.FooTeststwo),
))
if __name__ == "__main__":
result = unittest.TextTestRunner(verbosity=2).run(suite())
sys.exit(not result.wasSuccessful())
Но это не правильный способ объединять тесты в наборы. Когда я импортирую класс testcase («import foo_test1»), чтобы сослаться на него, чтобы я мог поместить его в больший набор, сразу запускаются внутренние тесты (во время импорта). Как правильно объединить тесты в наборы? Мне нужен точный контроль зерна в отношении того, какие тесты входят в какие наборы ... Я прочитал документацию TestSuite , но, похоже, она не дает много примеров ...