Вход на сайт
Автоматизация тестирования
8382 просмотров
Перейти к просмотру всей ветки
Программист коренной житель
в ответ alex445 11.11.23 23:36
По-моему, лучше тестировать на вещах, максимально приближенных к реальным, а не всяких моках. А что может быть ближе к реальному, чем копия реального? Копирнуть реальное - дело пары кликов, грубо говоря. А вот создать максимально приближенные к реальному подделки - тот ещё геморрой.
Тестировать надо определенную логику.
Если вернуться к примеру:
public void Foo (DbConnection db, UserProvider provider) { UserService srv = new UserService (db); User user = srv.GetUser (provider); if (user != null) { user.Login (); } }
Предположим, тебе надо протестировать, что при получении юзера вызывается функция Login.
Если тестировать на объектах, то тест может стать крассным из-за ошибки в GetUser, а значит написанный тест тестирует все, что угодно, но только не фунцкцию Foo :)