Я новичок в py.test. Пока мне нравится то, что я вижу, и хочу интегрировать его в наш процесс CI.тесты теста py.test в конкретном testSuite
В настоящее время мы используем различные виды схемы параметризации для наших тестов, которые я кратко объясню:
- вместо параметризующий за тест, мы параметризацию в класс
- говорит
params
является touple из из из кортежей, каждый из которых представляет собой различный набор параметров. - мы создаем для каждого такого tupla другой экземпляр некоторого
TestCaseWithParameters
, который является классомunittest.TestCase
. Что-то вроде этого:
for test_parameters in params: parameterized_test_suite.addTest(ParametrizedTestCase.parametrize(TestCaseWithParameters,param=test_parameters))
- Каждый из этих классов вводится с
self.params
и запускает все тесты функции его с этими различными Params. - Это означает, что если у нас есть сотни кортежей в
params
иTestSomethingWithParameters
, у вас есть десятки тестов, есть много тестов в общей сложности.
Мой вопрос: Как я могу перевести это на py.test?
Я прочитал this статью о pytest_generate_tests
крючка, но, кажется, он вводит зависимость на тест функции, и мне это нужно в TestCase ...
Самый простой способ будет сказать py.test бежать специфический parameterized_tes_suite
Я создаю уже, но я не нашел способ сделать это ...
Другой способ - сделать аналогичную инъекцию зависимостей на уровне класса TestCase, но я не нашел способ сделать это это тоже.
Возможно, вы захотите прочитать [Parametrizing tests] (http://pytest.org/latest/example/parametrize.html). Дайте мне знать, если у вас возникнут вопросы после прочтения. –