加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 代码合同时是否需要进行单元测试?

发布时间:2020-12-15 20:59:11 所属栏目:百科 来源:网络整理
导读:如果您正在使用代码契约开发应用程序,您可能知道,这个概念是在Eiffel编程语言中引入的. 在使用System.Diagnostics.Contracts在我的C#应用??程序中尝试此概念后,我变得非常困惑. 对我来说主要的问题是下一个: Are unit-tests really needed,if you have code
如果您正在使用代码契约开发应用程序,您可能知道,这个概念是在Eiffel编程语言中引入的.

在使用System.Diagnostics.Contracts在我的C#应用??程序中尝试此概念后,我变得非常困惑.

对我来说主要的问题是下一个:

Are unit-tests really needed,if you have code contracts?

单元测试框架通常不提供的主要差异之一是调用私有方法的可能性(除了带有填充程序的MS伪造库).它完成了,因为支持组合&这个想法,私有方法被公共方法调用覆盖.

至于代码契约,我可以为私有方法声明Contract.Requires,Contract.Ensures.

那么,为什么我需要单元测试,当我有代码契约时,哪种行为非常相似.

谢谢

解决方法

你肯定需要单元测试.
使用代码合同,您只能进行静态合同验证.
运行代码时可以做的更多事情.

例如,假设您正在测试依赖于IConnectionProvider的类. GetConnection抛出后会发生什么?代码合同对您无济于事.

理想情况下,您将使用不同的输入测试类的公共方法,并验证它的行为是否符合预期.这将帮助您找到错误,并从长远来看,设计更好的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读