Как создать интеграционный тест для активации учетной записи по электронной почте
Очень плохо знакомы с BDD и TDD.
У меня есть веб-API (ядро asp.net), который позволяет пользователю зарегистрироваться по электронной почте и паролю.
В случае успеха / мой сервер отправит ссылку для активации по электронной почте.
Эта ссылка содержит гид, который хранится в поле напротив записи этого пользователя.
Гид создается автоматически на сервере.
Пользователь получит это письмо, перейдет по этой ссылке и активирует свою учетную запись, чтобы он мог войти в систему.
Как я могу создать интеграционный тест / скрипт для этого?
такое решение для жесткого кода руководства только для целей этого теста? Просто кажется неправильным адаптировать код на сервере для этого, так как это не похоже на правильный тест.
Любое руководство по этому вопросу было бы замечательно.
1 ответ
Это случай, который я бы назвал немного сложным для автоматизации.
Вы можете автоматизировать почти все его части, но автоматизация всего потока, вероятно, будет означать реализацию почтового клиента. Это, вероятно, переусердствовало.
Я хотел бы рассмотреть вопрос о том, что отправлена ссылка на почту. Я бы автоматизировал, чтобы учетная запись активировалась по правильному гиду, и что она не активировалась, когда был представлен неправильный гид.
Ваш гид создается автоматически на сервере. Я бы открыл, чтобы тестовый скрипт мог получить руководство. Открытие может означать, что тестовый скрипт может прочитать значение из вашего бэкэнда или даже заглянуть в базу данных, чтобы получить его.
Если вы ищете подход BDD, почти все его будет сделано под капотом. Я бы, наверное, создал сценарий, похожий на этот, для счастливого пути
Scenario: A new user activates an account
Given that Alice want to sign up for a new account
When she activates her account
Then she is able to login
Я избегаю говорить о технических вещах, таких как guid здесь. Я пытаюсь использовать язык, который понимает не технический специалист. Технические вещи необходимы, но они могут быть обработаны на этапах, поддерживающих автоматизацию такого сценария.
Отправка руководства может быть реализована за этим сценарием. Вероятно, необходимо проверить, вызвана ли функция, которая будет выполнять отправку.
Проверка ссылки активации также может быть проверена, код поддержки должен либо найти гид, либо использовать жестко запрограммированный код. И затем запустить проверку функциональности.
Наконец, с активированной учетной записью Алиса сможет войти в систему.