专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
51好读  ›  专栏  ›  程序员大咖

每个 Java 开发者应该知道并爱上的 8 个工具

程序员大咖  · 公众号  · 程序员  · 2017-01-21 19:19

正文

请到「今天看啥」查看全文


foo.bar == "hello"

当断言失败时它会显示一个非常清晰的描述:

assert foo.bar == "goodbye"
       |   |   |
       |   |   false
       |   hello
       Foo@12f41634

Mocking:使用Java时,动态模拟框架(如:EasyMock,PowerMock和Mockito)非常流行,这些框架可以在Groovy下方便的使用。耶!

2.支持REST风格

我们的后端提供 REST API 服务来创建和管理账户,众多SDK中,我们的Java SDK提供特定语言客户端模型做简单交互。其中一些SDK也提供网页来和后端交互,从而不用编写代码。

为了保证网络框架的互操作性,它们必须表现的一样。因此我们需要创建一系列基于HTTP的测试。这是我们的 兼容性测试工具 。这个项目由我们的SDK工程师维护,他们精通不止一种语言。因此我们需要跨语言测试工具,谢天谢地 Rest-assured 来了。

Rest-assured是Java领域特定语言(DSL domain-specific language)用来测试REST服务,它简单易用易上手,甚至对于没有用过Java的开发者也是难以置信的强大。它提供先进的特性,比如细节配置、过滤器、定制分析、跨站请求伪造(CSRF)和OAuth 2.0。它提供非常简单的语法:given-when-then。

举个例子:让我们来看它如何校验“向/login路径发送post认证信息请求返回302状态码”:

given() .accept(ContentType.HTML) .formParam("login", account.username) 
.formParam("password", account.password) .when() .post(LoginRoute) .then() .statusCode(302)

你可以在我们的 TCK repo 中看到更多Rest-assured测试

3.Cargo Plugin

为了让我们的Java SDK按照TCK校验,我们需要开启我们其中一个Web服务,以便测试在上面执行。讲道理的话,我们需要每次构建时自动测试, Gargo Plugin 就是为此而生。

Cargo用标准的方式简单封装各种应用容器。我们使用Cargo可以毫不费力的在不同的Servlet容器(比如Jetty和Tomcat)中运行我们的代码。我们只需要在我们的pom文件中配置 Cargo Maven2 Plugin 来启动一个Servlet容器(Tomcat7),在测试阶段编译最近的War包,你可以在我们的 Servlet插件例子







请到「今天看啥」查看全文