Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я не пишу тесты для функции в одну строку или для функций который абсолютно тривиальны. Опять же, они будут протестированы косвенным образом.
$obj->setProperty(1); $this->assertEquals(1, $obj->getProperty()); написать не сложно (причем он тестирует сразу и геттер и сеттер), зато не забудешь сделать тест, когда решишь, например, в сеттере логирование сделать или исключения бросать для невалидных значений.def my_super_cool_action():
value1 = obj.get_value1()
value2 = obj.get_value2()
...
valueN = obj.get_valueN()
# делаем что-нибудь с этими value1,...,valueN
def test_my_feature():
obj.my_super_cool_action()
def get_value(self):
return self._internal_field
def get_value(self):
external_api_method1( constant1 )
return external_api_method2()
Любой такой геттер-аксессор это не оправданое ломание юнит-тестов.
def stderr(self):
self._toolResult['stderr']
def stderr(self):
return self._toolResult['stderr']
Чтобы утонуть в громадном кол-ве тривиальных вещей? ;)
На мой взгляд геттеры и сеттеры не нужно тестировать.
Прагматичность TDD