【发布时间】:2011-01-22 06:21:09
【问题描述】:
你能用几句话解释一下吗:
- 我们为什么需要它/为什么它们让我们的生活更轻松?
- 如何进行单元测试 [Java 中的简单示例]?
- 我们什么时候不需要它们/我们可以将单元测试排除在外的项目类型?
- 有用的链接
【问题讨论】:
标签: java unit-testing junit
你能用几句话解释一下吗:
【问题讨论】:
标签: java unit-testing junit
为什么我们需要它/为什么它们让我们的生活更轻松?
如何进行单元测试 [Java 中的简单示例]?
查看JUnit 网站和JUnit cookbook 了解详情。编写 JUnit 测试用例并不多。实际上想出好的测试用例肯定比实际的实现更难。
什么时候我们不需要它们/我们可以不进行单元测试的项目类型?
不要尝试测试类中的每个方法,而是专注于测试类的功能。以 Bean 为例,您不会为 getter 和 setter 编写测试...
链接
JUnit - 单元测试
EclEmma - 测试覆盖率工具
link text - 维基百科链接到单元测试
【讨论】:
因为这是您证明应用程序实际按预期工作的证据。您还会发现回归错误要容易得多。测试变得更容易,因为您不必手动检查所有可能的应用程序状态。最后,即使您手动测试了代码,您也很可能会发现您甚至不知道存在的错误。
Google for junit
应始终编写单元测试,如前所述,这是您证明应用程序按预期工作的证据。有些东西不能或很难测试,例如图形用户界面。这并不意味着不应该测试 GUI,只是意味着您应该使用其他工具。
参见第 2 点。
【讨论】:
阅读Unit Testing 上的维基百科文章可能会有所帮助,因为这将回答您关于为什么 的大部分问题。 JUnit 网站有用于编写 Java 单元测试的资源,其中 Junit Cookbook 应该是您的第一站。
就个人而言,我编写单元测试来测试方法的契约,即特定函数的文档。这样,您将进入一个增加测试覆盖率和改进文档的循环。但是,您应该尽量避免测试:
JUnit 不是唯一可用于 Java 的单元测试框架,因此您应该在深入研究之前评估其他框架,例如 TestNG。
除了“顶级”框架之外,您还会发现不少项目涵盖特定领域,例如:
【讨论】:
这里的许多回复已经涵盖了我要写的内容,但我想我会添加这个...
关于何时使用/不使用单元测试的最佳文章是在Steve Sanderson's blog 上。这是一篇很好的文章,涵盖了对代码库的不同部分进行单元测试的成本/收益(即反对 100% 覆盖率的令人信服的论点)
【讨论】:
Pragmatic Unit Testing in Java with JUnit(Andy Hunt 和 Dave Thomas)是关于 Java 单元测试方法和原因的最佳书籍之一
【讨论】:
这就是你的编程应该如何:
【讨论】:
顾名思义,它是对我们程序中的单元的测试。例如,如果您有一个返回两个整数之和的方法,您将用两个数字对其进行测试以查看它是否正常工作。例如,对于 2+2,它返回 4。
我们需要这些测试,因为在大型项目中,有很多程序员。这些程序员和谐地工作是很重要的。单元测试就像我们程序员编写的程序的正确性证明一样。因此,程序员编写他的程序加上它的单元测试,以表明他的程序正常工作。然后,他提交对项目的更改。这些测试可以帮助您在发生之前防止很多错误。
我有一个逐步的过程作为例子,在 Eclipse 中写下一个 Java 单元测试。请看“How To Write Unite Tests”。
希望对你有帮助。
【讨论】: