![]() |
1
1
tSQLt允许使用不是测试类中的测试用例的存储过程。因此,为了实现您想要的目标,我通常创建一个存储过程来接受参数并处理所有测试逻辑。然后,我编写了一系列单行测试过程,调用传递适当参数的其他过程。在tSQLt本身的测试用例中有一些这样的例子。 与真正的参数化测试相比,这种方法几乎没有什么缺点,但有一个很大的优点:您可以为每个案例指定一个真正有意义的名称,这将使查找问题变得更加简单。(真正的参数化测试在待办事项中,但它们不是最高优先级的,因此可能需要一段时间才能完成。) 作为补充,我强烈建议不要自动生成测试,甚至不要为测试生成参数,因为这通常会导致更高的维护成本。由于测试的目标是降低维护代码库的成本,这会适得其反。我见过很多单元测试采用项目因为这个原因而失败。 |