в библиотеке Python unittest существуют функции setUp
и tearDown
для установки переменных и других вещей до и после тестов.
как я могу запустить или проигнорировать тест с условием в setUp?
в библиотеке Python unittest существуют функции setUp
и tearDown
для установки переменных и других вещей до и после тестов.
как я могу запустить или проигнорировать тест с условием в setUp?
Вы можете позвонить if cond: self.skipTest('reason')
в setUp()
.
None
в качестве условия для пропуска тестов. Это избавило меня от хакерских вещей, таких как множественное наследование или добавление del MyAbstractTestCase
в конец моего модуля.
- person sox with Monica; 06.09.2018
Вместо регистрации setUp
используйте декоратор skipIf
.
@unittest.skipIf(not os.path.exists("somefile.txt"),
"somefile.txt is missing")
def test_thing_requiring_somefile(self):
...
skipIf
также можно использовать в классе, поэтому вы можете пропустить все содержащиеся тесты, если условие не выполняется.
@unittest.skipIf(not os.path.exists("somefile.txt"),
"somefile.txt is missing")
class TestStuff(unittest.TestCase):
def setUp(self):
...
def test_scenario_one(self):
...
def test_scenario_two(self):
...
@skipIf(self.work_in_progress is True)
).
- person sox with Monica; 06.09.2018
setUp
; Я ожидаю, что это приведет к тому, что тест не будет запущен. Но это ужасно грязно. Почему вы на самом деле хотите это сделать? Не было бы чище решить, какие тесты запускать в другом месте? - person Henry Keiter   schedule 19.05.2014