带有 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 问题不再发生: