带有 setName 的 Nunit TestCaseSource 还在 testexplorer 中显示原始测试
Nunit TestCaseSource with setName also shows original test in testexplorer
我正在尝试使用 TestCaseSource 重新使用具有不同数据的测试。在这里,我尝试使用 'setName' 属性 为我的测试命名,这很好用。我的问题是原始测试也出现在 testexplorer 中。 运行好像不行。我怎样才能在测试资源管理器中摆脱它?
简单复制:
[TestFixture]
public class Tests
{
[TestCaseSource(nameof(MyTestData))]
[Category(name: "MyCategory")]
public void OriginalTest(string first, string second)
{
Assert.IsTrue(true);
}
private static IEnumerable<TestCaseData> MyTestData
{
get
{
yield return new TestCaseData("firstString", "secondString").SetName("FirstTest");
yield return new TestCaseData("firstString", "secondString").SetName("SecondTest");
}
}
}
我的测试浏览器是这样的
这似乎是适配器的问题。
我遇到了同样的问题,改用 SetArgDisplayNames
,虽然没有提供预期的视觉效果,但在问题解决之前最适合这种用法。
正在将 NUnit3TestAdapter 更新为 v3.16.0 问题不再发生:
我正在尝试使用 TestCaseSource 重新使用具有不同数据的测试。在这里,我尝试使用 'setName' 属性 为我的测试命名,这很好用。我的问题是原始测试也出现在 testexplorer 中。 运行好像不行。我怎样才能在测试资源管理器中摆脱它?
简单复制:
[TestFixture]
public class Tests
{
[TestCaseSource(nameof(MyTestData))]
[Category(name: "MyCategory")]
public void OriginalTest(string first, string second)
{
Assert.IsTrue(true);
}
private static IEnumerable<TestCaseData> MyTestData
{
get
{
yield return new TestCaseData("firstString", "secondString").SetName("FirstTest");
yield return new TestCaseData("firstString", "secondString").SetName("SecondTest");
}
}
}
我的测试浏览器是这样的
这似乎是适配器的问题。
我遇到了同样的问题,改用 SetArgDisplayNames
,虽然没有提供预期的视觉效果,但在问题解决之前最适合这种用法。
正在将 NUnit3TestAdapter 更新为 v3.16.0 问题不再发生: