在不重复代码的情况下应用不同的测试场景
Apply different test scenarios without duplicating code
我有一个基本的测试套件,它成功地运行我所有的测试。我已将其绑定到 git pre-push
挂钩中,并注意到某些测试在该用例中没有意义(即测试是否发送和接收客户电子邮件可能需要 15 分钟以上) .
所以我的问题是如何组织事情以仅 运行 需要的测试,或者在部署时省略测试。我可以使用标签和组,但这似乎不太适合这里,并且可能导致代码重复(将相同的测试放在两个或更多组中)。
有什么提示/建议吗? (我仍在查看标签,看看是否可以让它们适用于我们的用例...)
我认为标签是您想要的方式。将标签视为套件。您可以将一个测试添加到多个测试套件。例如,假设我有几个登录测试。如果我希望它们在冒烟测试套件和登录套件中,我可以添加适用于此测试的所有标签。
'@tags': ['smoke', 'login']
这样您就不需要复制代码了。如果标签适用于此测试,您可以根据需要添加任意数量的标签。在上面的示例中,测试属于 2 个不同的套件,我可以 运行 完整的冒烟测试套件或使用相同测试的登录套件。
nightwatch --tag smoke
nightwatch --tag login
我有一个基本的测试套件,它成功地运行我所有的测试。我已将其绑定到 git pre-push
挂钩中,并注意到某些测试在该用例中没有意义(即测试是否发送和接收客户电子邮件可能需要 15 分钟以上) .
所以我的问题是如何组织事情以仅 运行 需要的测试,或者在部署时省略测试。我可以使用标签和组,但这似乎不太适合这里,并且可能导致代码重复(将相同的测试放在两个或更多组中)。
有什么提示/建议吗? (我仍在查看标签,看看是否可以让它们适用于我们的用例...)
我认为标签是您想要的方式。将标签视为套件。您可以将一个测试添加到多个测试套件。例如,假设我有几个登录测试。如果我希望它们在冒烟测试套件和登录套件中,我可以添加适用于此测试的所有标签。
'@tags': ['smoke', 'login']
这样您就不需要复制代码了。如果标签适用于此测试,您可以根据需要添加任意数量的标签。在上面的示例中,测试属于 2 个不同的套件,我可以 运行 完整的冒烟测试套件或使用相同测试的登录套件。
nightwatch --tag smoke
nightwatch --tag login