猿问

带有 setName 的 Nunit TestCaseSource 还在 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");

        }

    }

}

我的测试浏览器看起来像这样

潇潇雨雨
浏览 120回答 1
1回答

慕姐8265434

这似乎是适配器的问题。我遇到了同样的问题,SetArgDisplayNames改为使用它,虽然没有提供预期的视觉结果,但在问题解决之前最适合这种用法。将 NUnit3TestAdapter 更新到v3.16.0不再出现问题:
随时随地看视频慕课网APP
我要回答