在做TDD时,如何判断"这个类/功能的测试是否足够"?
即你什么时候能告诉你已经完成了对所有边缘情况的测试?
使用测试驱动开发,您将在编写测试代码之前编写测试.一旦你编写了代码和测试通过,那么是时候编写另一个测试了.如果您正确地遵循TDD,那么一旦您的代码完成了所有必需的操作,您就已经编写了足够的测试.
至于边缘情况,让我们举个例子来验证方法中的参数.在将参数添加到代码之前,您将创建测试,以验证代码是否能正确处理每个案例.然后,您可以添加参数和关联的逻辑,并确保测试通过.如果您想到更多边缘情况,则可以添加更多测试.
通过一步一步,您不必担心编写代码时的边缘情况,因为您已经为它们编写了测试.当然,总会有人为错误,你可能会错过一些东西......当这种情况发生时,是时候添加另一个测试然后修复代码了.
Kent Beck的建议是编写测试,直到恐惧变成无聊.也就是说,假设你从适当程度的恐惧开始,你就不再害怕任何事情会破裂.