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

问题描述 投票:1回答:1

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

我正在使用XUnit向该项目添加单元测试,并希望为每个程序模式启用一组测试。

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

有没有人对如何为N种不同模式调用一组测试有任何建议,每种模式都有不同的数据集,每种模式只切换一次?

c# unit-testing xunit xunit.net
1个回答
1
投票

通常,通过在private中将测试实现为(通常是abstract class)测试方法,然后根据您感兴趣使用的配置制作具体的派生类来解决一个问题 - 测试将针对每个具体类运行。

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

© www.soinside.com 2019 - 2024. All rights reserved.