![]() |
1
9
我觉得你的测试很好。您可能误解了单元测试的原则。 一个测试(理想情况下)应该只测试一件事,这是正确的,但这并不意味着它应该只测试一个方法;相反,它应该只测试一个方法。 行为 (不变的,对某一商业规则的坚持等)。 您的测试测试“如果您添加到一个新的集合,它就不再是空的”,这是一个单一的行为:-)。 要解决其他问题:
|
![]() |
2
1
有两种可能性。
例如,假设您有一个函数,它只是调用到其他层中,这些层可能已经过单元测试了。这并不意味着您不为函数编写单元测试,即使它只是一个包装器。 |
![]() |
3
1
在实践中,您当前的测试是好的。对于这样简单的事情,add()和contains()中的bug不太可能互相串通隐藏。在您真正关心测试add()和add()的情况下,一个解决方案是让您的_list变量对单元测试代码可用。
这样做有两个缺点。一:它需要访问private _list变量,即 a little complex in C# (我推荐 the reflection technique )。第二:它使测试代码依赖于集合实现的实际实现,这意味着如果更改了实现,就必须修改测试。我从来不会为像集合类这样简单的东西做这个,但在某些情况下,它可能是有用的。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 7 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |