BDD和TDD很新。
我有一个web api(asp.net核心),允许用户通过电子邮件和密码注册。
一旦成功,/我的服务器将通过电子邮件发送激活链接。
此链接包含一个guid,该guid存储在针对该用户记录的字段中。
guid是在服务器上自动创建的。
用户将收到该电子邮件,点击该链接并激活他们的帐户,以便他们登录。
如何为此创建集成测试/脚本?
是为了这次测试而硬编码guid的解决方案吗?似乎错误的是在服务器上调整代码,因为它看起来不像是一个正确的测试。
任何关于此的指导都会很棒。
答案 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可以登录。