测试命名 - Resharper和xUnit

3
在R# 8.2.0和VS2013.3中的测试运行器中,我希望按特性分组,就像在VS测试运行器中一样:
问题:我能否让R#显示如下所示的测试结果: enter image description here 在R#中,我能做到最接近的是这个: enter image description here 测试代码如下:
    [Trait("Homepage", "User changes sort order to highest rating first")]
public class ChangeSortOrderToRating : IntegrationTestBaseWithData {
    readonly JokeViewer viewer;
    public ChangeSortOrderToRating() {
        viewer = new JokeViewer(new Session());
    }

    [Fact(DisplayName = "Show all 3 Stories")]
    public void ShowAllStories() {
        List<Joke> result = viewer.ShowAllJokesHighestRatingFirst();
        Assert.Equal(3, result.Count);
    }
    [Fact(DisplayName = "Show all Stories in rating order")]
    public void ShowListOfStoriesInDescendingRankOrder() {
        var result = viewer.ShowAllJokesHighestRatingFirst();
        // 10,2,5 is order of insert in db
        // First should be rating of 2
        Assert.Equal(10, result[0].Rating);
        Assert.Equal(5, result[1].Rating);
        Assert.Equal(2, result[2].Rating);
    }
}

R#扩展已安装,用于xUnit: enter image description here

1
什么问题?看起来ReSharper运行器正在按类别显示正确的测试。 - citizenmatt
已经进行了更明显的问题编辑。谢谢。 - Dave Mateer
1个回答

1
如果您想避免那里的方法名称,很遗憾,现在这不是真正可能的。 ReSharper插件与xunit 1.x配合使用的方式意味着直到实际运行测试时才可用显示名称(因为插件正在使用xunit的API来查找测试,但无法调用DisplayName属性,因为它正在查看源代码而不是已编译的代码。 DisplayName可能对代码进行任何操作(例如Theory属性添加参数信息),因此在从代码构建测试时没有值可用。 我希望xunit 2.x支持能够解决这个问题。 2.x非常努力地确保所有信息都可以根据源代码分析检索,因此xunit API可以调用类似于反射的抽象来获取所有信息,包括漂亮的显示名称。对于2.x的支持目前正在进行中,测试顺利运行,但仍在使用xunit 1.x来发现测试。

谢谢citizenmatt - 我希望2.x顺利!如果将来有任何更新,我会努力回答这个问题。 - Dave Mateer
1
我也一直在寻找这个 - 不过我认为目前还不可能。 - Omaer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接