gradle - 简单测试驱动web程序
来源:互联网 发布:mac制作win10启动u盘 编辑:程序博客网 时间:2024/05/10 14:47
# 平台 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
> 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-DATEBUILD SUCCESSFULTotal 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工程。
- gradle - 简单测试驱动web程序
- 简单使用Spring注解 测试程序 非web程序
- ds18b20 驱动测试程序
- UVC驱动测试程序
- Watchdog驱动测试程序
- 按键驱动测试程序
- led驱动测试程序
- 利用Eclipse+Tomcat开发Web程序(简单例子测试)
- python web 驱动测试开发
- Jmeter Web 简单测试
- Junit4测试web程序
- S3C2440 spi驱动简单测试
- 简单字符设备驱动测试
- S3C2440 spi驱动简单测试
- Android环境 驱动测试程序
- 驱动测试程序的编写
- Linux触摸屏驱动测试程序
- Java Web开发环境塔建 及简单测试Java Web程序
- p45-04
- Sqlmap界面程序1.0
- android--xml的应用
- 【杂项-1】删除右键新建菜单里面的东西
- Ingrid jquery如何设定列的个数
- gradle - 简单测试驱动web程序
- MYSQL 存储过程语法入门
- 黑马程序员_C#编程基础
- Hive解析HiveQL语句生成抽象语法树和逻辑计划
- Android中SQLite的Cursor如何判断是否为空
- cin等函数比较
- 快播播放器(QvodPlayer)5.17.156去广告绿色版
- JavaScript中的闭包之彻底领悟
- dalvik基本原理