Чтобы издеваться или не издеваться над аргументом функции тестирования? - PullRequest
0 голосов
/ 17 ноября 2018

Допустим, я хочу проверить функцию calculateHealth(person).И скажем, функция принимает аргумент модели person и возвращает число от 0% до 100% в зависимости от того, насколько здоровым является person.Допустим, создание модели person является дорогостоящим, поскольку она имеет много свойств и подмоделей, которые также имеют много свойств.Я чувствую, что должен издеваться над человеком и заменить его более простой версией человека, который ведет себя только настолько, чтобы протестировать мою calculateHealth() функцию.Но согласно мнению эксперта (Джастин Сирлз - Пожалуйста, не издевайтесь надо мной - https://www.youtube.com/watch?v=Af4M8GMoxi4, в 28:14), это запах, если мы насмехаемся из модели стоимости (для него этоЭто нормально только для макетирования зависимости, но не для значения модели)

Если у меня будет больше подобных тестов, будет дорого поддерживать их, если моя person модель изменится.Каково ваше мнение?

1 Ответ

0 голосов
/ 18 ноября 2018

Поскольку person сложно подделать, тест для calculateHealth() оказывается сложным. Это дизайнерский запах, а не проблема теста. Вместо того, чтобы переходить в черный ящик person, я должен определить интерфейс более четко, и желательно, чтобы он был простым в использовании и для проверки / проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...