Java中的单元测试是什么?
你能用几句话解释一下吗Java中的单元测试是什么?,java,unit-testing,junit,Java,Unit Testing,Junit,你能用几句话解释一下吗 为什么我们需要它/为什么他们让我们的生活更轻松 如何进行单元测试[Java中的简单示例] 我们什么时候不需要它们/什么类型的项目可以不进行单元测试 有用的链接 因为这是应用程序实际按预期工作的证明。您还将发现回归bug更容易。测试变得更容易,因为您不必手动检查所有可能的应用程序状态。最后,即使您手动测试了代码,您也很可能会发现不知道存在的bug junit的谷歌 单元测试应该总是编写的,正如前面所说,它是应用程序按预期工作的证明。有些东西不能或很难测试,例如图形用户界面。
阅读维基百科上的文章可能是一项工作,因为这将回答您关于为什么的大多数问题。该网站提供了编写Java单元测试的资源,这可能是您的第一站 就个人而言,我编写单元测试是为了测试方法的契约,即特定函数的文档。这样,您将进入一个增加测试覆盖率和改进文档的周期。但是,您应该尽量避免测试:
- 其他人的代码,包括JDK
- 非确定性代码,如java.util.Random
- 网络
- 啜饮
- 用于GUI代码
- 它允许您检查正在测试的代码片段的预期行为,作为它必须满足的契约
- 它还允许您在不破坏代码功能(契约)的情况下安全地重新生成代码
- 它允许您在纠正错误后通过实施单元测试来确保错误修复保持不变
- 它可以作为编写解耦代码的一种方式(如果您在编写代码时考虑了测试)
-Wikipedia单元测试链接这就是您的编程应该如何:
- 决定一个接口(不一定是java接口,但方法对每个人来说都是什么样子)
- 写一个测试
- 对实现进行编码
我希望这能有所帮助。“这是你证明应用程序按预期工作的证据”。这是一个非常常见的误解。他们所证明的只是某个特定的“单元”按预期工作(而不是应用程序)。当集成多个单元时,仍然存在集成错误的空间,尽管单个单元100%成功,但多个单元的行为并不像预期的那样。这并不是说单元测试本身并没有难以置信的用处。除了“google it”之外,回答得不错如果您打算进入单元测试,还值得一看模拟框架。使用junit只是等式的一部分,通常您需要为测试预先确定/模拟某些类的行为,例如,对于通常与web服务对话的类上的测试,您可以模拟web服务以返回您想要的结果,而不是对Web服务器进行实际调用。请参见此问题:对于Mockito,这是一个很好的模拟框架。我认为重要的是要注意,从技术上讲,单元测试决定某个小部分(单元)是否一个程序的所有部分都正常工作。这里大多数人都在谈论的,以及通常的现代用法,是一个自动单元测试,它作为构建的一部分或按需运行。@Dolbz我会检查它。谢谢。