-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


TDD vs не TDD

Четверг, 03 Сентября 2020 г. 12:22 + в цитатник
Fester:
Цитата korvin @
Это pure data, там нечего мокать.

Ты это знаешь только из-за того, что знаешь как оно реализовано.

Цитата korvin @
Если ты про canWithdraw, то это простой чистый метод, зачем его мокать?

Затем, что ты этот метод вызываешь и действуешь исходя из возвращаемого этим методом значения.

Цитата korvin @
Но можно canWithdraw вынести в Request как Lazy-поле, и снова мокать ничего не надо.

Это поле надо будет как-то заполнить. Как ты собираешься это сделать?

Цитата korvin @
Я их сделал явными и ограниченными.

Не сделал. Ты сделал 3 проперти (которые на секундочку должны быть полноценными объектами, а еще точнее абстракциями) и добавил указатель на функцию/делегат, которую надо вызвать в submit. Если у тебя в классе Transfer будет 10 функций (submit, rollback, list, rejeckt, еще что-то) и все они будут что-то рассчитывать опираять на данные из source и/или destination, то тебе придется добавлять 10 функций твой Request. А самое смешное, что если выносить эти функции в Request, то поля source, destination и money становятся не нужны :D

Цитата korvin @
Не надо, мне нужно знать только тип входных данных (Request) и тип выходных данных (Response), которые полностью описывают всё, что нужно.

А еще Account и Money чтобы работа шла так, как было задумано, а не по умолчанию :)

Цитата korvin @
вместо того, чтобы декомпозировать код и вынести логику retry в отдельный RetriableConnection с настраиваемой политикой, отдельно и независимо протестированную, Fester решил накостылять сомнительные тесты прям над бизнес-логикой, сохранив её сложность и зафиксировав эту сложность в спецификации (тесте).

сорян конечно, но RetriableConnection тоже надо тестировать.

https://forum.sources.ru/index.php?showtopic=419507&view=findpost&p=3838228

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку