Как выполнить модульное тестирование методов в объекте метода?
Я выполнилЗамените метод на метод объектаРефакторинг описанманить.
Теперь у меня есть класс с методом run () и набор функций-членов, которые разбивают вычисления на более мелкие единицы. Как я могу проверить эти функции-члены?
Моя первая идея состоит в том, что мои модульные тесты являются в основном копиями метода run () (с разными инициализациями), но с утверждениями между каждым вызовом функций-членов для проверки состояния вычислений.
(Я использую Python и модуль unittest.)
class Train:
def __init__(self, options, points):
self._options = options
self._points = points
# other initializations
def run(self):
self._setup_mappings_dict()
self._setup_train_and_estimation_sets()
if self._options.estimate_method == 'per_class':
self._setup_priors()
self._estimate_all_mappings()
self._save_mappings()
def _estimate_all_mappings():
# implementation, calls to methods in this class
#other method definitions
У меня определенно есть ожидания относительно того, какими должны быть состояния атрибутов-членов до и после вызовов различных методов в рамках реализацииrun()
метод. Должен ли я делать утверждения об этих «частных» атрибутах? Я не знаю, как еще протестировать эти методы.
Другой вариант заключается в том, что я действительно не должен проверять это.