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