2009-01-19 42 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

是的,但你不必是一个疯子。您的测试是您的维护编码员的最好的朋友。如果你的测试不容易阅读,你的维护编码器将会遇到困难的时候。我认为它有助于鼓励更好的习惯,单元测试代码没有宽松的许可证。