取消
显示结果 
搜索替代 
您的意思是: 
cancel
1214
查看次数
20
有帮助
1
评论
julianchen
Spotlight
Spotlight
引言:您想提升自己的自动化测试能力吗?这里为您提供了10款优秀的测试框架库,以及它们的首选用例。



测试能力可谓是鉴别专业开发人员与业余新手的利器。它不仅体现在是否能遵循TDD(Test-Driven Development,测试驱动开发)、BDD(Behavior-Driven Development,行为驱动开发)或其他任何测试方法,而且反映了您至少具有编写出能够自动测试软件代码的能力。
如今,许多Java开发人员主要通过使用持续集成的工具(如Jenkins或TeamCity),编写出会在构建时就能自动运行的各种单元与集成测试程序。
如果在您的身边还有人对于“程序员为何应该关注自动化测试”存有疑问的话,那么我会告诉他:随着DevOps的出现和普遍对它认识的加深,业界对于自动化测试的重要性也在呈指数式增长中。
对于一般公司而言,通常会更倾慕那些擅长编写单元测试的程序员们。因为他们熟悉各种单元测试的框架库与工具,例如JUnit,Selenium,REST-Assured,Spock框架等。
作为一名Java开发人员,我们经常会涉及到一些截然不同的领域,例如:编写核心的Java代码、创建JSP页面、编写REST APIs、有时甚至会为了自动化的构建而创建一些Groovy脚本。这也就是为什么我们还需要了解如何运用不同的工具来进行自动化测试的原因。
比如说:倘若我长期只知道使用JUnit,但是突然必须要测试JSP页面时,我会完全没有方向,更想不到要去寻找Selenium这样的工具。同样对于REST Assured来说,由于我通常会使用curl命令去测试自己的REST API,殊不知REST Assured会将REST API的单元测试带到另一个层次上。
面向Java程序员的十种单元与集成测试工具
工欲善其事,必先利其器。我一直认为这句话对于程序员也是适用的。因此,我经常会在闲暇的时候去发掘、尝试、学习和探索一些新的工具和各种库,下面我将列出自己所收集到的一些工具。
本文所提及到的十种优秀的基础工具、框架和库,都能有助于Java开发人员根据各自手头的项目,编写出各种单元与集成测试。
JUnit
我不认为我需要对Junit做任何介绍。即使您是Java编程的初学者,也一定听说过它的大名。它可以让您为Java代码编写出相应的单元测试程序。
几乎所有的主流集成开发环境(IDE),如Eclipse,NetBeans和IntelliJ都提供了对Junit的集成,这就意味着您可以在这些IDE环境中写入并运行单元测试。
虽然JUnit5如今已经发布了,但是大多数人至今仍然在使用JUnit 4。不过今年可能会有下一个版本面世。您可以将JUnit用于单元与集成测试,它还能够支持Java 8各种功能。
REST Assured
在Java中测试和验证各种REST服务,要比诸如Groovy之类的动态语言难得多。
REST Assured则会给Java领域带来了语言上的简便性。它是一种十分优秀的REST API集成测试工具。
Selenium
Selenium应该是Java UI测试中最为普遍的工具了,它允许您测试JSP页面,而无需在浏览器中启动这些页面。
您可以使用JUnit和Selenium来测试自己的Web应用程序的UI。它甚至允许您去编写Web应用,以验收各种测试。

TestNG
TestNG是一种由JUnit和NUnit发展而来的测试框架,不过它引入了许多新的功能,而且更为易用。例如:annotations(请见http://javarevisited.blogspot.hk ... .html#axzz56lq0jrxn)可以让您在任意大的线程池中,运行各种可用策略的测试(将所有方法都放在自己的线程之中,每个线程对应一个测试类)。
通过使用JUnit 4中的annotations,可以弥补JUnit和TestNG之间的差距。另外只要您愿意,还可以去整合Hamcrest的匹配器。
Mockito
在Java的类库中,有着许多诸如PowerMock和JMock的mocking(模拟)框架。我个人比较喜欢Mockito,因为它有着简单的API,完善的文档和大量的示例。
Mocking是如今单元测试的一种关键技术,它允许您在没有任何依赖性的情况下,独立地测试自己的代码,这也就是为什么我鼓励每个Java开发人员在学习Junit时一并掌握mocking框架的原因。
虽然我力推Mockito,这一mocking框架。当然如果您有兴趣,也可以去试试PowerMock或JMock。
评论
likuo
Spotlight
Spotlight
我正在学习Java。
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接