gpt4 book ai didi

unit-testing - 自测试代码与单独测试相比有哪些优点?

转载 作者:行者123 更新时间:2023-12-01 21:50:37 25 4
gpt4 key购买 nike

就我个人而言,我总是将单元测试放在一个单独的项目中,因为 MSTest 似乎就是这样设置的。但我正在阅读 Martin Fowler 的《重构:改进现有代码的设计》,他似乎主张不仅将它们放在同一个项目中,而且将它们放在与它们的方法相同的类中正在测试。

老实说,除了哲学差异(测试文档是测试文档还是困惑?)之外,我真的很难想到这与将测试放在与代码本身不同的区域中有何不同。

是否有任何明确的理由选择其中之一?或者这主要是哲学上的差异?

更新:我不一定以某种方式相信,但至少我知道这些论点是什么。我希望我可以选择每个人的答案,但我只能选择一个。

最佳答案

也许拥有自测试代码有一些优雅,但我倾向于与您有相同的理念——代码分离胜过一些抽象美的概念。当您设计一个类时,您可以从根本上将其分为三个部分:

  • 类的作用(例如,类的定义)
  • 它是如何做到的(实现)
  • 如何使用它(文档和/或测试用例)

我认为测试用例是为了文档的目的,也是测试套件中安全网的一部分。当新程序员查看您的代码时(可能是在您停止编写代码很久之后),文档很少是传达如何使用类的最有效方式。它可以回答有关代码在特定情况下如何表现的问题,提供类及其方法的总体概述,等等,但测试用例提供了如何在真实代码中使用该类的具体示例/em>.

因此,出于这个原因,我倾向于说他们应该留在类(class)本身之外,因为这强化了这种程度的分离。

关于unit-testing - 自测试代码与单独测试相比有哪些优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/509283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com