Pull to refresh

Comments 3

Я верно понимаю, что комплексный тест предлагается разбить на
подготовка — подготовка данных для регистрации пользователя;
действие — вызов UserController.RegisterUser();
проверка — запрос к базе данных для проверки успешного завершения регистрации;
и
подготовка — подготовка данных для регистрации пользователя;
действие — вызов UserController.RegisterUser();
действие — вызов UserController.DeleteUser();
проверка — запрос к базе данных для проверки успешного удаления.

?
Не совсем. Первая часть верна. Но второй тест будет содержать теперь —
подготовка — подготовка данных для удаления пользователя
действие — вызов UserController.DeleteUser()
проверка — запрос к БД для проверки успешного удаления

То есть для второго теста у вас уже изначально должен быть готовый зарегистрированный пользователь. Например, тестовая БД заполняется фикстурами (фейковыми данными). И блок подготовки может включать запрос (с помощью репозитория, например) на получения этого фейкового юзера.
Но ведь «подготовка данных для удаления пользователя» — это создание пользователя, которое тоже надо проверить.
Логичным видится сделать @depends, либо (при наличии транзакций и откатов после тестов) удалять рандомного пользователя.
верно?

Upd. Да, ответил до того как вы отредактировали свой ответ. Теперь понятно, спасибо.
Sign up to leave a comment.

Articles