2009-01-19 43 views
5

我們對我們所有的項目都使用FxCop。對於我們的UnitTests,我不確定這是否值得。我們結束了許多壓制:我們應該在UnitTest組件上使用FxCop嗎?

[SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification = SuppressJustifications.CA1822MethodIsUsedExternallyAsNonStatic)] 
[SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", MessageId = "Cantaloupe.Seed.Security.RijndaelEncryption", Justification = SuppressJustifications.CA1806MethodIsCalledForExceptionThrowingTest)] 

什麼是人們對FxCop單元測試代碼的想法?

回答

5

當我教授我們的單元測試/ TDD課程時,我通常會告訴人們編寫測試代碼,遵循與編寫測試人員生產代碼時相同的原則。但是,我承認一些FxCop規則可能會產生太多噪音。

難道你不能在測試代碼中使用適當的FxCop規則子集嗎?

2

不值得努力; FxCop是用於生產編碼標準的,而不是內部測試代碼

(然而,它不會讓它變成一個奔跑者,偶爾一次又一次,以防它告訴你一些有用的東西...... )

+0

咦? 「不值得的努力」我有點強烈。爲什麼你應該把「內部」代碼作爲「生產」代碼與質量不同?強制執行編碼標準(它們可以做FxCop)是檢查代碼正確性的重要部分 - 當然不是*最重要的或者只有一個。 – 2009-01-20 06:05:28

1

如果您有時間,請繼續前進。讓警察看看你所有的代碼是一個不錯的主意。

2

是的,但你不必是一個瘋子。您的測試是您的維護編碼員的最好的朋友。如果你的測試不容易閱讀,你的維護編碼器將會遇到困難的時候。我認爲它有助於鼓勵更好的習慣,單元測試代碼沒有寬鬆的許可證。