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