如何通过电子邮件创建激活帐户的集成测试

时间:2017-09-17 09:30:13

标签: asp.net-core integration-testing bdd

BDD和TDD很新。

我有一个web api(asp.net核心),允许用户通过电子邮件和密码注册。

一旦成功,/我的服务器将通过电子邮件发送激活链接。

此链接包含一个guid,该guid存储在针对该用户记录的字段中。

guid是在服务器上自动创建的。

用户将收到该电子邮件,点击该链接并激活他们的帐户,以便他们登录。

如何为此创建集成测试/脚本?

是为了这次测试而硬编码guid的解决方案吗?似乎错误的是在服务器上调整代码,因为它看起来不像是一个正确的测试。

任何关于此的指导都会很棒。

1 个答案:

答案 0 :(得分:1)

这是一个我认为自动化有点棘手的案例。

您可以自动化几乎所有部分,但自动化整个流程可能意味着实现邮件客户端。这可能是过度的。

我会考虑验证是否发送了邮件链接。我会自动化帐户在正确的guid上激活,并且当出现不正确的guid时它不会被激活。

您的guid是在服务器上自动创建的。我会打开,所以测试脚本可以抓住guid。打开可能意味着测试脚本可以从后端读​​取值,或者甚至可以窥视数据库以获取它。

如果您正在寻找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这样的技术性东西。我尝试使用非技术人员会理解的语言。需要技术方面的东西,但可以在支持这种情况自动化的步骤中处理它们。

可以在此方案后面执行guid的发送。可能需要验证将执行发送的功能。

也可以验证激活链接的验证,支持代码需要找到guid或使用硬编码。然后触发验证功能。

最后,通过激活帐户,Alice可以登录。