【发布时间】:2018-09-03 04:07:18
【问题描述】:
是否有一组单元测试可以验证我的接口实现是否正确?具体来说,我正在使用ISet<T> 的实现,并且希望基本上将其插入单元测试以验证我的实现是否正确。 (而不是我想出 5-20 个单元测试来获得良好的覆盖率)
似乎所有接口都可以为它们编写一些通用单元测试。
【问题讨论】:
-
不确定你的意思,你应该有反映实现范围的单元测试。单元测试接口(没有实现或方法范围)如何准确工作?此外,这类问题可能不是 SO 问题,更像是软件工程问题。
-
有些接口方法有一些逻辑/预期,但是,例如
Add(T item)应该添加一个项目,可能有一个单元测试来验证它是否正确添加了一个项目,等等。 -
hmm,这听起来不像是一个好的单元测试。一个好的单元测试应该是
ISomeObjectMock.Add(T item)被调用了 1 次或多次,当此服务方法中满足此条件时。跨度> -
关于泛型和类型.. 我的公司使用
Fizzware并且对于像我上面提到的概念这样的类型参数概念,您将使用It.IsAny<T>(其中T在您的测试和期望中定义)在构建模拟服务时。有关完整示例,请参阅此 SO 答案:stackoverflow.com/a/36345351/1366179
标签: c# .net unit-testing