Это нормальное поведение юнит-теста, хотя обычно вы устанавливаете тестовые данные в методе setUp()
вместо __init__
(и, возможно, уничтожаете его в tearDown()
).
Если генерация ваших данных динамического теста занимает много времени для каждого метода теста, то я думаю, что лучший способ - создать класс данных одноэлементного теста. В этом случае вам нужно позаботиться о том, чтобы каждый метод тестирования оставлял класс тестовых данных в том же состоянии, в котором он его нашел, что не является тривиальным, если вы хотите, чтобы ваши методы тестового примера записали в него что-то; Именно по этой причине unittest пытается заново сгенерировать среду тестирования для каждого метода теста.
Одним из улучшений может быть то, что класс данных синглтоновых тестов будет возвращать глубокую копию себя каждый раз, когда вы запрашиваете его экземпляр.