如何按特定顺序运行tSQLt并使其成为依赖测试



是否有任何方法可以按特定顺序在tSQLt测试类中运行测试
据我所知,每个测试都在一个事务中运行(这意味着最终所有数据都将回滚(。我们是否可以按照特定的顺序在运行中进行依赖测试,以便只有在执行完所有测试后,测试才会回滚?

我需要这样做,因为我的数据依赖于一个又一个。

为什么要编写测试?我想达到一个目标。但这个目标是什么?

这个目标最终(我再次假设(是花更少的时间寻找难以发现的缺陷,花更多的时间为客户/利益相关者提供价值。

现在,编写测试有开销。我们需要保持尽可能小的开销,否则我们最终会从在缺陷上浪费时间变成在测试上浪费时间,因此我们仍然难以实现价值。

保持开销较小的方法之一是注意编写易于阅读、理解和维护的测试。其中最重要的部分之一是保持每个测试独立于所有其他测试,并尽可能独立于外部世界。

这意味着每个测试都应该设置环境,包括创建所需的数据和随后的清理。tSQLt根据每个测试执行的事务为您处理清理部分。

另一方面,编写相互依赖的测试会造成维护噩梦,此外还会导致测试结果不明确。(这个测试失败是因为测试中的代码还是测试外的代码不起作用?(

因此,为了回答您的问题,tSQLt不允许您指定测试顺序,出于上述原因,您不应试图绕过它。

最新更新