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