Ну вот мои два цента
а) если расчет ожидаемого значения прост и не включает в себя никаких бизнес-правил / условий, кроме тестового примера, для которого он генерирует ожидаемый результат, то он должен быть достаточно хорошим ... запомните ваш фактический код будет настолько общим, насколько это возможно.
Ну, есть случаи, когда вы столкнетесь с проблемами в ожидаемом методе, но вы можете легко определить причину сбоя и исправить ее.
b) существуют случаи, когда ожидаемое значение не может быть легко вычислено, в этом случае, вероятно, имеются плоские файлы с результатами или, возможно, какое-то постоянное ожидаемое значение, как, естественно, вы этого хотели бы.
Кроме того, существуют тесты, в которых вы просто хотите проверить, был ли вызван определенный метод или нет, и вы закончили тестирование этого модуля.