Visual studio 2013 测试命名-Resharper和xUnit

Visual studio 2013 测试命名-Resharper和xUnit,visual-studio-2013,resharper,bdd,xunit,Visual Studio 2013,Resharper,Bdd,Xunit,在R#8.2.0和VS2013.3中,测试跑步者我想按特征分组,如VS测试跑步者: 问题:我可以让R#显示这样的测试吗: 在R#中,我能得到的最接近的结果是: 测试代码为: [Trait("Homepage", "User changes sort order to highest rating first")] public class ChangeSortOrderToRating : IntegrationTestBaseWithData { readonly Joke

在R#8.2.0和VS2013.3中,测试跑步者我想按特征分组,如VS测试跑步者:

问题:我可以让R#显示这样的测试吗:

在R#中,我能得到的最接近的结果是:

测试代码为:

    [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);
    }
}
[Trait(“主页”,“用户先将排序顺序更改为最高评级”)]
公共类更改器存储:IntegrationTestBaseWithData{
只读JokeViewer查看器;
公共更改器更改(){
viewer=new JokeViewer(new Session());
}
[事实(DisplayName=“显示所有3个故事”)]
公共空间ShowAllStories(){
List result=viewer.ShowAllJokesHighestRatingFirst();
Assert.Equal(3,result.Count);
}
[事实(DisplayName=“按评级顺序显示所有故事”)]
public void方向显示列表InderingRankOrder(){
var result=viewer.ShowAllJokesHighestRatingFirst();
//10,2,5为插入顺序,单位为db
//首先应该是2级
Assert.Equal(10,结果[0]。评级);
Assert.Equal(5,结果[1]。评级);
Assert.Equal(2,结果[2]。评级);
}
}
已安装xUnit的R#扩展:

如果您的意思是希望避免使用其中的方法名,不幸的是,现在这是不可能的

ReSharper插件与xunit 1.x配合使用的方式意味着在实际运行测试之前,显示名称不可用(因为插件使用xunit的API来定位测试,但无法调用
DisplayName
属性,因为它查看的是源代码而不是编译后的代码。
DisplayName
可能对代码做了任何事情(例如
Theory
属性添加参数信息),因此在从代码构建测试时没有可使用的值


我希望xunit 2.x支持能够解决这个问题。2.x正在努力确保所有信息都可以基于源代码分析检索,因此xunit API可以调用类似反射的抽象来获取所有信息,包括一个好的显示名称。2.x的支持目前正在进行中,测试运行良好,但是仍然使用xunit 1.x来发现测试。

问题是什么?看起来ReSharper runner正在显示按类别分组的正确测试。已经添加了一个更明显的问题编辑。谢谢。感谢citizenmatt-我希望2.x进展顺利!如果将来有任何更新,我将努力回到这个问题。我一直在寻找对于这一点,尽管还不认为这是可能的。