Методы без тестирования в тестовой среде Python

Хорошо, поскольку поиск 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 .