我正在使用 NUnit 3.0 和 TestFixtureSource 在具有不同参数/配置的夹具内多次运行测试用例(我确实想在 TestFixture 级别执行此操作)。简单的例子:
[TestFixtureSource(typeof (ConfigurationProvider))]
public class Fixture
{
public Fixture(Configuration configuration)
{
_configuration = configuration;
}
private Configuration _configuration;
[Test]
public void Test()
{
//do something with _configuration
Assert.Fail();
}
}
假设 Test() 对其中一种配置失败,而对另一种配置成功。在运行报告文件和 Visual Studio 的测试资源管理器中,失败和成功运行的名称将仅显示为 Test(),它不会告诉我有关哪个设置导致问题的任何信息。
有没有办法在这种情况下影响测试用例的名称(即在每个夹具运行/配置的名称前加上前缀)?作为一种解决方法,我目前正在每个测试用例触发之前打印到结果输出,但我宁愿避免这样做。
由于 NUnit 3.0 处于测试阶段,而且这个功能相当新,我无法在文档中找到任何内容。我找到了 TestCaseData 但我认为它还没有被定制为与夹具一起使用(它是为测试用例设计的)。