![]() |
1
1
这在很大程度上取决于这个特殊测试的目的。我将探讨两种不同的场景,它们有不同的优缺点。
这意味着,除非按照说明通过(页面上有10个模块,共有3种不同类型),否则该功能(包含模块的页面)不完整。在这种情况下,你实际上可以做你已经做过的事情——你的测试将模块、它们的顺序和功能视为一个整体。正如您已经建议的那样,可以拆分测试函数,并简化switch语句,例如,将测试函数放在映射中,然后仅从该映射调用函数,其中键是module name/id;但这是一个小决定。作为一名测试设计师,您主要决定: 整件事 这种方法有缺点,即如果有太多的条件检查和DOM查询(至少,这是我在cypress和其他e2e测试平台上的经验),测试可能会变得脆弱,并且无法100%工作。另一个缺点是,当测试失败时,没有立即反馈为什么会发生这种情况。
这类测试的重点转移到功能的某些部分。理想情况下,开发人员为所有较小的部分编写测试,如果这些工作正常,整个页面也正常工作。例如,开发人员编写了不同的测试 独立的 和
等等,等等。 这些测试具有更好的稳定性,开发人员可以获得更多信息,但代价是开发和维护所有这些测试代码。开发商可以确定,如果测试A、B和;C工作,那么整个页面肯定也必须工作。但他们从未真正测试过,所以他们不确定。 如果您想获得这些好处(并想处理缺点),那么您需要在套件中创建更多独立的测试。 这个答案有点长,但关于测试策略,我注意到没有明确的赢家。因此,主要取决于您来确定应用程序的哪些部分对您更重要,以及您是否能够在以后维护测试。 |
![]() |
Devang Sanghani · 柏树检查线通过 3 年前 |
![]() |
Iqra Luqman · 如何为动态输入字段编写cypress定位器 3 年前 |
![]() |
Val · 带组件测试的加载夹具 3 年前 |
![]() |
Marcell Malbolge · 观察控制台是否有错误 3 年前 |
![]() |
bbsimonbb · 在cypress中,如何等待页面加载? 7 年前 |
![]() |
user3727540 · Cypress-比较两个输入的相等性 7 年前 |