簡體   English   中英

我們可以自定義XUnit和TestDriven.Net的輸出嗎

[英]Can we customize the output of XUnit and TestDriven.Net

我將XUnit與TestDriven.Net或Resharper測試運行程序一起使用來執行測試。 我真的很喜歡編寫測試的BDD風格,所以我想知道是否可以修改這些框架的輸出?

我想用下划線命名測試名稱,並想拆分測試名稱並以“給定,何時,然后”格式格式化。 這些工具有可能嗎?

我不確定您要做什么。 看來您想更改顯示在特定測試運行程序上的測試名稱。 顯示測試名稱實際上僅取決於測試運行器(工具)。 這意味着我們可以自定義名稱,也可以不使用我們使用的測試運行器。

簽出以下代碼,這可能是您想要執行的代碼。 至少如果不是這樣,我認為它可以向您展示一些有關如何自定義測試名稱的想法。

public class Given_Foo
{
    [Test]
    public void Then_Bar_returns_correct_result()
    {
        Assert.True(flase, "Check out test names...");
    }
}

public class TestAttribute : FactAttribute
{
    public TestAttribute()
    {
    }

    protected override IEnumerable<ITestCommand> EnumerateTestCommands(IMethodInfo method)
    {
        yield return new CustomNamedTestCommand(method);
    }
}

public class CustomNamedTestCommand : FactCommand
{

    public CustomNamedTestCommand(IMethodInfo method) : base(method)
    {
        this.DisplayName = DisplayName.Replace("_", " ");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM