DbC(合同设计)和单元测试

时间:2009-01-29 20:52:40

标签: c# .net unit-testing design-by-contract

我正在使用C#4.0的合同,之前我使用了大量的单元测试(不是使用TDD)。我想知道DbC是否消除了编写外部单元测试的需要?

我个人认为合同更好地制作健全的框架,因为合同与代码本身紧密结合,并提供其他好处。

你们有什么想法?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

我认为这是另一种方式'单元测试比合同结构编程更可取。

我之所以这么说是因为PoC检查通常表示为可以在生产中随意关闭的断言。 (即使是埃菲尔,Bertrand Meyers的内置支持PoC的语言,建议在生产中关闭它们。)

我宁愿拥有一套完整的单元测试套件来测试“快乐路径”,特殊情况和边缘条件。当以PoC不重构的方式重构时,它们很有用。

答案 2 :(得分:0)

我认为DbC可以帮助您验证部分一般的单元测试。

使用DbC对于方法的输入/输出验证等内容非常有效,并且可以节省您的时间 但用于更复杂的验证(如依赖性模拟)使用外部单元测试会更简单

所以我认为你不能通过使用它们来消除所有外部单元测试需求。