【问题标题】:How to use bdd naming style with Resharper 4.5?如何在 Resharper 4.5 中使用 bdd 命名风格?
【发布时间】:2009-04-16 18:12:18
【问题描述】:

我刚刚升级到 Resharper 4.5,现在看到我所有的 BDDish 测试方法都被标记为不符合命名标准。我的命名约定是这样的:

public void Something_ShouldHaveThisResult()

Resharper 不喜欢方法中的下划线。有没有办法关闭它,只是为了测试方法?对于我的其余代码,我有一个正常的命名约定。

【问题讨论】:

    标签: c# resharper bdd


    【解决方案1】:

    【讨论】:

    • +1 停止了警告,但也可以强制执行方法名称的“_Should”部分...
    【解决方案2】:

    如果您想在非测试代码源中遵循 Microsoft 样式指南 - 您是否尝试过使用 StyleCop for ReSharper plugin

    如前所述:禁用内部 ReSharper 命名规则集或切换检查设置。 StyleCop(因此是 StyleCop ReSharper 插件)允许继承解决方案文件夹结构中的 Settings.StyleCop 文件。因此,您可以检查“真实”来源中的有效名称,同时禁用对测试代码的分析。

    【讨论】:

      【解决方案3】:

      你可以使用

      // ReSharper 禁用 InconsistentNaming

      // ReSharper 恢复 InconsistentNaming

      围绕每个班级的四肢。例如

      // ReSharper disable InconsistentNaming
      namespace bob
      {
          [TestClass]
          public class MyTestClass
          {
              [TestMethod] 
              public void Test_Test()
              {
              }
          }
      }
      // ReSharper restore InconsistentNaming
      

      但是,这将删除所有命名警告,而不仅仅是方法名称上的警告。

      【讨论】:

        【解决方案4】:

        我已经在 ReSharper 错误跟踪器中添加了对此的请求。你可以vote for it

        【讨论】:

        • +1 - 看起来他们正在为下一个版本修复它!做得很好!
        【解决方案5】:

        Resharper 4.5.1 已添加此功能。您现在可以添加专门适用于测试方法的新自定义命名规则,并允许它包含下划线。

        【讨论】:

        • 没错。将您的默认命名样式设置为您在生产代码中使用的样式,并为您的测试命名样式添加第二条非默认规则,这样 R# 就不会在您使用时不合适。
        【解决方案6】:

        您可以使用Agent Smith 获得更精确的代码命名约定。

        注意:最终的 R# 4.5 版本似乎还没有编译...但我相信它很快就会出现。

        【讨论】:

        【解决方案7】:

        无需删除规则。可以添加接受下划线的新规则

        锐化器 |选项 -> 语言 -> 通用 -> 命名样式并将新规则添加到底部“用户定义的命名规则”

        【讨论】:

        • 似乎在此处添加规则会在您的常规代码中强制执行 BDD 样式命名约定。除非您有专门的方法来设置测试方法名称?
        • 你是对的。我不将下划线用于常规方法,所以我没有注意到这一点。
        【解决方案8】:

        在菜单上:

        锐化器 |选项 -> 语言 -> 通用 -> 命名样式:删除您想要的任何命名样式。他们应该有一个“禁用”功能,但他们没有。

        【讨论】:

        • 我想对除测试方法之外的所有内容强制执行它。如果我删除命名样式,它会为所有方法禁用它,对吗?
        • 你可能是对的。这是 Resharper 的新内容,因此他们可能会尽快更新。
        猜你喜欢
        • 2014-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        相关资源
        最近更新 更多