Ответ 1
Я считаю, что вам не нужно ничего делать. Ваши вспомогательные методы не должны начинаться с test_
.
Хорошо, поскольку поиск Google не помогает мне через некоторое время (даже при использовании правильных ключевых слов).
У меня есть класс, простирающийся от TestCase, в котором я хочу иметь некоторые вспомогательные методы, которые не будут выполняться как часть теста, они будут использоваться для создания некоторых издевающихся объектов и т.д., вспомогательные вещи для почти любых тест.
Я знаю, что могу использовать декоратор @skip, поэтому unittest не запускает определенный метод тестирования, но я думаю, что уродливый взломать для моей цели любые советы?
Заранее спасибо, сообщество: D
Я считаю, что вам не нужно ничего делать. Ваши вспомогательные методы не должны начинаться с test_
.
Единственными методами, которые unittest будет выполнять [1], являются setUp
, все, что начинается с test
и tearDown
[2], в этом порядке. Вы можете создавать вспомогательные методы и называть их чем угодно, кроме трех вещей, и они не будут выполняться с помощью unittest.
Вы можете думать о setUp
как __init__
: если вы генерируете макетные объекты, которые используются несколькими тестами, создайте их в setUp
.
def setUp(self):
self.mock_obj = MockObj()
[1]: Это не совсем так, но это основные 3 группы методов, на которые вы можете сосредоточиться при написании тестов.
[2]: по устаревшим причинам unittest будет выполнять как test_foo
, так и testFoo
, но test_foo
является предпочтительным стилем в эти дни. setUp
и tearDown
должны отображаться как таковые.
Тест-бегун будет выполнять только непосредственно методы, начинающиеся с test
, поэтому просто убедитесь, что имена ваших вспомогательных методов не начинаются с test
.