我有一个可以在三种模式下运行的程序,每种模式都有一些不同的操作逻辑和不同的数据集。
我正在使用XUnit向该项目添加单元测试,并且希望有一套针对每种程序模式都可以触发一次的测试。
我可以使用[InlineData()]对每个测试使用1-3范围内的值来执行此操作,然后从数组中选择每种模式。但是,这种方法的问题在于切换模式大约需要20秒,我宁愿让我的一组测试针对我的三种模式中的每一种运行一次,而不是每次运行测试时都更改模式。 / em>
对于我如何调用针对N个不同模式的一组测试是否有任何建议,每个测试具有不同的数据集,而对于每个模式只能切换一次?
答案 0 :(得分:1)
通常,一种解决方案是通过在private
中将测试实现为(通常为abstract class
)测试方法,然后针对每个您想要使用的配置制作具体的派生类-该测试将根据具体课程进行。
您可以使用the relevant various xUnit mechanisms在每个类的测试之间或整个测试之间共享状态。