Visual studio 2013 测试命名-Resharper和xUnit
在R#8.2.0和VS2013.3中,测试跑步者我想按特征分组,如VS测试跑步者: 问题:我可以让R#显示这样的测试吗: 在R#中,我能得到的最接近的结果是: 测试代码为: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
[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进展顺利!如果将来有任何更新,我将努力回到这个问题。我一直在寻找对于这一点,尽管还不认为这是可能的。