Сообщение Re[16]: Про путаницу с репозиториями и DAO от 28.06.2016 21:34
Изменено 28.06.2016 21:38 another_coder
Здравствуйте, gandjustas, Вы писали:
_>>На мой взгляд, в юнит тестах вызов такого метода (сохраняющего в базу) проверять не надо.
G>Тогда ценность юнит-теста падает до нуля. Зеленый тест перестает показывать что метод работает.
Понятно.
JFYI
Дело не в цвете, а в том, что вы, т.о., по сути, проверяете внутренний алгоритм. До хз как именно реализован метод объекта, сохраняющий данные (внутри он может дергать SaveChangesAsync, SaveChanges, или еще что-то). Такой подход тесты делает сложными для поддержки. Момент с разработчиками не выносит критики: если слишком долго, пилится на по-меньше или CI.
_>>На мой взгляд, в юнит тестах вызов такого метода (сохраняющего в базу) проверять не надо.
G>Тогда ценность юнит-теста падает до нуля. Зеленый тест перестает показывать что метод работает.
Понятно.
JFYI
Дело не в цвете, а в том, что вы, т.о., по сути, проверяете внутренний алгоритм. До хз как именно реализован метод объекта, сохраняющий данные (внутри он может дергать SaveChangesAsync, SaveChanges, или еще что-то). Такой подход тесты делает сложными для поддержки. Момент с разработчиками не выносит критики: если слишком долго, пилится на по-меньше или CI.
Re[16]: Про путаницу с репозиториями и DAO
Здравствуйте, gandjustas, Вы писали:
_>>На мой взгляд, в юнит тестах вызов такого метода (сохраняющего в базу) проверять не надо.
G>Тогда ценность юнит-теста падает до нуля. Зеленый тест перестает показывать что метод работает.
Понятно.
JFYI
Дело не в цвете, а в том, что вы, т.о., по сути, проверяете внутренний алгоритм. Оптимальнее будет проверять сценарии работы. При этом допускается, что Х.З. как именно реализован метод объекта, сохраняющий данные (внутри он может дергать SaveChangesAsync, SaveChanges, или еще что-то). Юнит-тестами проверяется сценарий, интеграционными проверяется связка (что данные прошли и записались). Момент с разработчиками не выносит критики: если слишком долго, пилится на тесты "по-меньше" или CI.
_>>На мой взгляд, в юнит тестах вызов такого метода (сохраняющего в базу) проверять не надо.
G>Тогда ценность юнит-теста падает до нуля. Зеленый тест перестает показывать что метод работает.
Понятно.
JFYI
Дело не в цвете, а в том, что вы, т.о., по сути, проверяете внутренний алгоритм. Оптимальнее будет проверять сценарии работы. При этом допускается, что Х.З. как именно реализован метод объекта, сохраняющий данные (внутри он может дергать SaveChangesAsync, SaveChanges, или еще что-то). Юнит-тестами проверяется сценарий, интеграционными проверяется связка (что данные прошли и записались). Момент с разработчиками не выносит критики: если слишком долго, пилится на тесты "по-меньше" или CI.