这是我回到TDD的基础知识用于学习目的.
我最初实现Person.Surname为类型对象的字段(传递测试的最简单方法).
然后我添加了一个测试设置,Person.Surname指出返回值应该是一个字符串并设置Person.Surname=20.
我通过改变使用string而不是使用实现来"修复"测试object.由于静态类型检查,测试现在很长时间编译,所以我评论了它.
Person.Surname字段当前实现为字符串.如果我将字段的实现更改为对象,则我的测试都不会失败.
所以我无法在测试中留下我的意图.在这种情况下,有没有办法进行失败的测试?
更新:我同意Esko,实际上这不是你想要做的事情.从学习的角度来看,我试图提出的观点是,如果我(或其他人在以后的某个时间点)扩大我的字段的类型范围(比如从字符串到对象)我将不会直接单元测试失败.也许这毕竟不是一件坏事?