2009-04-16 80 views
14

我剛升級到Resharper 4.5,現在看到我所有的BDDish測試方法都被標記爲不符合命名標準。我的命名約定是這樣的:如何在Resharper 4.5中使用bdd命名風格?

public void Something_ShouldHaveThisResult() 

Resharper不喜歡該方法中的下劃線。有沒有辦法關閉它,僅用於測試方法?我的代碼其餘部分有一個正常的命名約定。

回答

0

在菜單上:

Resharper |選項 - >語言 - >常用 - >命名風格:刪除你想要的任何命名風格。他們應該有一個「禁用」功能,但他們不。

+7

我想強制執行除了測試方法之外的所有內容。如果我刪除了命名風格,它將禁用所有方法,對吧? – 2009-04-16 19:45:40

+0

你可能是對的。這是Resharper的新功能,因此他們可能會很快更新它。 – CLaRGe 2009-04-17 12:44:45

1

您可以使用Agent Smith來獲得更精確的代碼命名約定。

注意:最終R#4.5的版本似乎尚未編譯...但我相信它很快就會到來。

+0

+1爲偉大的插件;但似乎有一個與此特定設置相關的錯誤:http://code.google.com/p/agentsmithplugin/issues/detail?id=94 – TrueWill 2010-05-13 14:24:32

2

你可以使用

// ReSharper的禁用InconsistentNaming

// ReSharper的恢復InconsistentNaming

各地各階級的四肢。例如

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

但是,這將刪除所有命名警告,而不僅僅是方法名稱上的警告。

4

如果你想遵循微軟風格指南與你的非測試代碼來源 - 你有沒有嘗試過使用StyleCop for ReSharper plugin

如前所述:禁用內部ReSharper命名規則集或切換檢查設置。 StyleCop(因此StyleCop ReSharper插件)允許通過解決方案文件夾結構中的Settings.StyleCop文件進行繼承。因此,您可以檢查「真實」來源中的有效名稱,同時禁用測試代碼的分析。

2

我已經在ReSharper bug跟蹤器中添加了這個請求。你可以vote for it

+0

+1 - 看起來像他們正在修復它的下一個版本!做得很好! – TrueWill 2010-05-13 14:26:21

1

沒有必要刪除規則。新規則可以添加,接受下劃線

Resharper |選項 - >語言 - >通用 - >命名風格並在底部添加新規則「用戶定義的命名規則」

+1

似乎在這裏添加規則然後在您的常規代碼中強制執行BDD樣式的命名約定。除非你有特定的方法來設置這個測試方法名稱? – MotoWilliams 2009-06-13 00:49:03

+0

你是對的。我不使用下劃線作爲常規方法,所以我沒有注意到這一點。 – 2009-06-15 10:11:15

2

Resharper 4.5.1已添加此功能。您現在可以添加一個專門應用於測試方法的新自定義命名規則,並允許其包含下劃線。