我有一个包含三个字段的 Java 类。我意识到由于需求的变化,我只需要其中两个。
理想情况下,我会在修改代码之前编写一个失败的测试用例。
有没有标准的方法,或者我应该忽略这个任务的 TDD?
这就是重构,所以你不需要从失败的测试开始。
该字段的删除是否会改变类的行为?如果没有,只需删除该字段并检查该类是否仍然正常工作(也就是通过您应该已经编写的测试)。
TDD 原则是编写“由测试设计”的代码。这可能听起来很傻,但意味着您应该编写的第一个类是测试类,测试被测类的行为。您应该迭代几个步骤:
如果您有所需的所有字段的详尽列表,则可以通过反射比较该字段列表:
yourClassName.getClass().getDeclaredFields() vs your list of fields
为没有要删除的字段的构造函数编写测试。
显然,只有在构造函数将字段的值作为参数时才有效。
删除涵盖已删除功能的所有测试(根据 TDD 的 3 条规则,这不算作“编写生产代码”)。
删除剩余测试中对过时字段的所有引用。如果其中任何一个失败,则允许您编写所需的生产代码以使其通过。
一旦您的测试再次变为绿色,所有后续修改都属于“重构”类别。您可以在此处删除您的(现在未使用的)字段。