语言无关 – TDD测试是否应该首先失败?

前端之家收集整理的这篇文章主要介绍了语言无关 – TDD测试是否应该首先失败?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为 this answer评论中的讨论的跟随者,TDD测试是否应该首先失败?

请考虑以下示例.如果我正在编写LinkedHashSet的实现和一个测试测试,在插入副本之后,原始版本与插入之前的迭代顺序相同,我可能想要添加一个单独的测试,副本根本不在集合中.

第一次测试将首先失败,然后实施.

问题是,使第一次测试通过的实现很可能使用不同的集合实现来存储数据,因此正如第二次测试已经通过的副作用一样.

我认为看到测试失败的主要目的是确保测试是一个很好的测试(很多次我写了一个测试,我认为会失败,但没有,因为测试写错了).但是,如果您确信您所编写的测试确实测试了某些内容,那么必须确保您以后不会破坏该行为并不值得吗?

当然它很有价值,因为它是有用的 regression test.在我看来,回归测试比测试新开发的代码更重要.

要说他们必须始终首先失败就是要超越实际的规则.

猜你在找的设计模式相关文章