在xunit中为不同的程序模式重新运行测试组

时间:2019-02-14 01:26:41

标签: c# unit-testing xunit xunit.net

我有一个可以在三种模式下运行的程序,每种模式都有一些不同的操作逻辑和不同的数据集。

我正在使用XUnit向该项目添加单元测试,并且希望有一套针对每种程序模式都可以触发一次的测试。

我可以使用[InlineData()]对每个测试使用1-3范围内的值来执行此操作,然后从数组中选择每种模式。但是,这种方法的问题在于切换模式大约需要20秒,我宁愿让我的一组测试针对我的三种模式中的每一种运行一次,而不是每次运行测试时都更改模式。 / em>

对于我如何调用针对N个不同模式的一组测试是否有任何建议,每个测试具有不同的数据集,而对于每个模式只能切换一次?

1 个答案:

答案 0 :(得分:1)

通常,一种解决方案是通过在private中将测试实现为(通常为abstract class)测试方法,然后针对每个您想要使用的配置制作具体的派生类-该测试将根据具体课程进行。

您可以使用the relevant various xUnit mechanisms在每个类的测试之间或整个测试之间共享状态。