我刚刚升级到Resharper 4.5,现在看到我的所有BDDish测试方法都被标记为不符合命名标准。我的命名约定是这样的:
public void Something_ShouldHaveThisResult()
Resharper不喜欢方法中的下划线。有没有办法将其关闭,仅用于测试方法?对于我的其余代码,我有一个正常的命名约定。
答案 0 :(得分:11)
答案 1 :(得分:4)
如果您想使用非测试代码源的Microsoft样式指南 - 您是否尝试过使用StyleCop for ReSharper plugin?
按照之前的建议:禁用内部ReSharper命名规则集或切换检查设置。 StyleCop(因此StyleCop ReSharper插件)允许继承解决方案文件夹结构中的Settings.StyleCop文件。因此,您可以检查“真实”源中的有效名称,同时禁用对测试代码的分析。
答案 2 :(得分:2)
您可以使用
// ReSharper禁用InconsistentNaming
// ReSharper恢复InconsistentNaming
围绕每个班级的四肢。 e.g
// ReSharper disable InconsistentNaming
namespace bob
{
[TestClass]
public class MyTestClass
{
[TestMethod]
public void Test_Test()
{
}
}
}
// ReSharper restore InconsistentNaming
然而,这将删除所有命名警告,而不仅仅是方法名称上的那些警告。
答案 3 :(得分:2)
我已经在ReSharper错误跟踪器中添加了一个请求。你可以vote for it。
答案 4 :(得分:2)
Resharper 4.5.1添加了此功能。您现在可以添加一个专门应用于测试方法的新自定义命名规则,并允许它包含下划线。
答案 5 :(得分:1)
您可以使用Agent Smith来获得更精确的代码命名约定。
注意:最终R#4.5的版本似乎还没有编译......但我相信它很快就会存在。
答案 6 :(得分:1)
无需删除规则。可以添加接受下划线的新规则
Resharper |选项 - >语言 - >常见 - >命名样式并将新规则添加到底部“用户定义的命名规则”
答案 7 :(得分:0)
在菜单上:
Resharper |选项 - >语言 - >常见 - >命名样式:删除您想要的命名样式。他们应该有一个“禁用”功能,但他们没有。