我正在为我的restful应用程序进行广泛的功能测试,并且因为应用程序遵循其他原则,所以开销很小。我想不出为什么我还应该花时间和精力来编写/测试单元测试的具体原因。我错过了一个明显的观点吗?
答案 0 :(得分:4)
如果您的功能测试失败,您通常需要花时间处理调用链,以找到导致失败的代码块。当单元测试失败时,您可以立即确切地知道故障的位置。这可以节省您的时间。
也许更重要的是,这可以节省你的队友时间。根据我在过去30年中为许多不同团队工作的经验,当其他人的功能测试失败时,我需要一段时间来理解代码。单元测试OTOH通常非常小且非常容易理解。我通常可以在功能测试失败时快速解决基于单元测试失败的回归问题。
此外,单元测试通常比功能测试运行得快得多,从而为您提供更紧密的反馈循环。
在一天结束时,您不会因严格遵循他人建立的教条而获得奖励积分。您的目标是编写高质量的软件。如果您只需编写功能测试就可以在特定情况下执行此操作,请继续执行此操作。在许多软件项目中,单元测试是一个好主意,但它们并不是灵丹妙药。