Asp.net core 如何为通过电子邮件激活帐户创建集成测试
BDD和TDD非常新 我有一个web api(asp.net核心),允许用户通过电子邮件和密码注册 成功后,/my server将通过电子邮件发送激活链接 此链接包含存储在该用户记录字段中的guid guid是在服务器上自动创建的 用户将收到该电子邮件,单击该链接并激活其帐户,以便登录 如何为此创建集成测试/脚本 硬编码guid的解决方案是否仅用于此测试?在服务器上调整代码似乎是错误的,因为它看起来不像是一个正确的测试Asp.net core 如何为通过电子邮件激活帐户创建集成测试,asp.net-core,integration-testing,bdd,Asp.net Core,Integration Testing,Bdd,BDD和TDD非常新 我有一个web api(asp.net核心),允许用户通过电子邮件和密码注册 成功后,/my server将通过电子邮件发送激活链接 此链接包含存储在该用户记录字段中的guid guid是在服务器上自动创建的 用户将收到该电子邮件,单击该链接并激活其帐户,以便登录 如何为此创建集成测试/脚本 硬编码guid的解决方案是否仅用于此测试?在服务器上调整代码似乎是错误的,因为它看起来不像是一个正确的测试 任何关于这方面的指导都会很好。这是一个我认为有点难以自动化的案例 您可以自动
任何关于这方面的指导都会很好。这是一个我认为有点难以自动化的案例 您可以自动化几乎所有的部分,但是自动化整个流程可能意味着实现一个邮件客户端。这可能太过分了 我会考虑验证邮件链接是否被发送。我会自动确保帐户在正确的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将能够登录。嗨,Thomas,是的,这是我在你发布答案之前采取的方法。一字不差!