gradle - 简单测试驱动web程序
2013-11-10 18:01
417 查看
# 平台 ubuntu linux
# 工程名称(顶级目录名)tdd
# 使用到的jar包
servlet-api.jar
org.springframework.core-3.0.4.RELEASE.jar
commons-logging-1.0.4.jar
spring-mock.jar
一、实现一个基于servlet以纯文本回显请求参数的例子。
1)编写EchoServlet代码
因为需要用到gradle来实现自动化构建,所以遵循gradle中java工程的目录约定。
2)编写EchoServlet单元测试用例
遵循gradle标准,故:
3)编写gradle的配置文件 build.gradle
以上代码使用可参考我的blog《gradle-使用介绍(一)》http://blog.csdn.net/why3query/article/details/15028313
这里dir: 'libs'加载本地的jar文件
> mkdir libs
然后将开头处提及的jar包放到libs目录下。
4) 运行gradle命令
生成和src/同级的build目录
build/
|- classes/
|- dependency-cache/
|- libs/
|- reports/
|- test-results/
|- tmp/
这里注意apply plugin: 'idea'
指的是可以构建IntelliJ的idea工程。
> gradle idea
生成三个文件和一个目录
tdd.iml
tdd.ipr
tdd.iws
out/
|- production/
|- test/
之后可以通过IntelliJ open选项打开tdd工程。
到此就完成了使用gradle自动化构建servlet请求参数以文本形式回显的java工程。
# 工程名称(顶级目录名)tdd
# 使用到的jar包
servlet-api.jar
org.springframework.core-3.0.4.RELEASE.jar
commons-logging-1.0.4.jar
spring-mock.jar
一、实现一个基于servlet以纯文本回显请求参数的例子。
1)编写EchoServlet代码
因为需要用到gradle来实现自动化构建,所以遵循gradle中java工程的目录约定。
> mkdir -p src/main/java/com/thoughtworks/servlet > cd src/main/java/com/thoughtworks/servlet > touch EchoServlet.java
package com.thoughtworks.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet{ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Type", "text/plain"); //设置纯文本响应头 PrintWriter writer = response.getWriter(); Enumeration e = request.getParameterNames(); // 获取请求参数名 while(e.hasMoreElements()) { String name = String.valueOf(e.nextElement()); String[] values = request.getParameterValues(name); for(String v : values) { writer.write(name+"="+v); writer.write("\n"); } } writer.close(); } }
2)编写EchoServlet单元测试用例
遵循gradle标准,故:
> mkdir -p src/test/java/com/thoughtworks/servlet/ > cd src/test/java/com/thoughtworks/servlet/ > touch EchoServletTest.java
package com.thoughtworks.servlet; import static org.junit.Assert.*; import org.junit.Test; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; public class EchoServletTest { @Test public void testEchoingParametersWithMultipleValues() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.addParameter("param1", "value1"); request.addParameter("param2", "value2"); request.addParameter("param3", "value3"); new EchoServlet().doGet(request, response); String[] lines = response.getContentAsString().split("\n"); assertEquals("Expected as many lines as We have parameter values", 3, lines.length); assertEquals("param1=value1", lines[0]); assertEquals("param2=value2", lines[1]); assertEquals("param3=value3", lines[2]); } }
3)编写gradle的配置文件 build.gradle
apply plugin: 'idea' apply plugin: 'java' repositories { mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: '*.jar') testCompile 'junit:junit:4.11' }
以上代码使用可参考我的blog《gradle-使用介绍(一)》http://blog.csdn.net/why3query/article/details/15028313
这里dir: 'libs'加载本地的jar文件
> mkdir libs
然后将开头处提及的jar包放到libs目录下。
4) 运行gradle命令
> gradle build.gradle :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar UP-TO-DATE :assemble UP-TO-DATE :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :test UP-TO-DATE :check UP-TO-DATE :build UP-TO-DATE BUILD SUCCESSFUL Total time: 7.091 secs
生成和src/同级的build目录
build/
|- classes/
|- dependency-cache/
|- libs/
|- reports/
|- test-results/
|- tmp/
这里注意apply plugin: 'idea'
指的是可以构建IntelliJ的idea工程。
> gradle idea
生成三个文件和一个目录
tdd.iml
tdd.ipr
tdd.iws
out/
|- production/
|- test/
之后可以通过IntelliJ open选项打开tdd工程。
到此就完成了使用gradle自动化构建servlet请求参数以文本形式回显的java工程。
相关文章推荐
- 简单的WEB程序压力测试.
- 利用Eclipse+Tomcat开发Web程序(简单例子测试)
- Java Web开发环境塔建 及简单测试Java Web程序
- 简单使用Spring注解 测试程序 非web程序
- 简单的pythonweb程序
- DM8168 PWM驱动与测试程序
- 简单的测试体重的小程序
- app与后台交互以及web与后台交互的比较(app简单测试环境)
- 构建简单的Maven工程,使用测试驱动的方式开发项目
- Android S5PV210 camera驱动测试程序
- 使用简单的J2ME程序测试MIDlet的生命周期
- linxu下244X的按键驱动,测试程序
- 驱动测试程序的编写
- TQ2440按键驱动及测试程序
- led驱动测试程序
- linux内核SPI总线驱动简单编写测试
- 通用型C/C++程序性能测试Benchmark的简单实现
- 一个最简单的测试在dev/下生成字符设备的程序
- spring WEB MVC + Spring + hibernate开发web程序的配置说明和简单实例的详细说明
- mmap--最简单的测试程序(用户空间与内核空间数据交换&&用户态和内核态的数据交换用例)