Резюме для программиста
Ваще, по логике, два значения - по тестируемому коду и проверочное - должны быть рассчитаны независимо и сравнены. Но можно поставлять проверочное значение вбиванием числа, а можно расчётом - второе предпочтительнее, если вдруг другие числа, на основании которых всё рассчитывается (типа моего _baseValue) поменяются. Вбитые руками придётся перебивать, а рассчитанные не придётся.
А так проблема, что логику всё же придётся дублировать в тесте. В коде что-то делается, и та же логика должна быть повторена в тестовом методе - по сути, она должна быть написана дважды. И при изменении логики кода должна поменяться и логика теста или сам тест вообще заменён. Короче, любые изменения - боль. А быстрые изменения в нашем аджайле - основа основ. Вопрос - на..я это всё? Тесты, имею ввиду. При быстрых изменениях логики ты просто пишешь два раза один и тот же по сути код и тестируешь очевидные вещи. Тестирующего кода даже больше получаться может. Вот щас у меня логика, которую я тестирую - 15 строчек кода. А объём тестов будет экрана на 2. Я чёт сути не понимаю.
Ну тесты вроде научился писать, если будет требование - сделаю. Но ощущение напрасной работы не покидает. Тот парень, с которым я собеседовался туда, куда меня не взяли, и который сказал, что он тесты не писал - он явно что-то знал.