Описание: При написании тестов мы могли бы перейти в режим расчета. Мы могли бы вычислить или рассчитать длинные значения. Не делайте этого, это может запутать читателя в отношении бизнес-логики.
Обсуждение
Вы пишете тесты для читателя, не для компьютера. Ведь кто-нибудь потом будет в ближайшие десять лет спрашивать себя - “Черт возьми, что же имел ввиду этот парень?”. Вы бы хотели оставить как можно больше подсказок, особенно если этот расстроенный читатель будете вы.
Например, если мы конвертируем одну валюту в другую, мы берем 1.5% от транзакции. Если курс обмена валют USD -> GBP равен 2:1, тогда если мы меняем 100$ мы должны получить 50 GBP и минус 1.5% от транзакции = 49.25 GBP.
Мы бы могли написать этот тест таким образом:
Либо мы могли бы попробовать сделать вычисление более явным:
Одним из полезных плюсов явных данных (Evident Data) является то, что если мы один раз написали вычисление в ассерте, то мы теперь знаем, что программировать в реализации. В рамках одного метода связь между 5-ю аргументами очевидна и Кент Бек считает, что он бы использовал в этом случае вариант с константами, если бы они были уже определены на данный момент, нежели второй вариант с явным вычислением.