在编写 UI 自动化测试时,我遇到了测试依赖项看起来必须的情况。例如,假设我有两个测试,其中第二个取决于第一个的成功。我可以在第一个测试中添加依赖项(使用TestNG
),以便第二个测试仅在第一个测试成功时执行。
但是大多数程序员(我想是xUnit
用户)都支持独立测试。也就是说,第二个测试不是依赖于第一个测试,而是需要在执行之前将系统带入正确的状态。为了实现这一点,第二个测试可能会调用一些常见的方法,这些方法将执行与第一个相同的操作。
我看到这种方法的问题是执行重复。执行第一个测试。然后执行“独立”的第二个测试(或者它可以在第一个测试之前执行,因为没有执行顺序),它基本上会做与第一个测试相同的事情,以使系统回到第二个可以执行。因此,这将花费更多时间。
你写独立的测试吗?如果是这样,您如何应对执行时间?