Maven学习三:使用junit测试maven project
2013-10-02 19:34
302 查看
每个开发人员都会对自己的代码进行自定义的测试,可以是把项目run起来,手动点点页面按钮,看看操作场景和步骤点是否符合业务需要,是否存在UE上的问题。也有自己写几个测试类,把service类的输入输出是否符合标准都测试一番,这两大类,其实就是包括了前后端的测试工作,分工各有不同。在maven中集成了junit测试包,应该说maven可以集成任何你想的到或者想不到工具插件。
在maven project-01项目中引入junit插件并不困难,只需要在pom.xml中配置好依赖包即可(IDE环境下,依赖项会自动生成)。剩下的测试代码的编写并没有任何不同。另外,test类文件需要按照/src/main/java/的文件结构(main改为test)。
test文件夹结构如下图:
![](http://img.blog.csdn.net/20131002193344968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGZzZnh5OQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
还需要修改pom.xml文件,增加dependencies项,改后的pom.xml内容如下:
接下来在/src/test/java/jizg/study/maven/hello 文件夹下创建TestHello.java文件,这里需要注意,test的包结构可以自定义,要注意必备的路径为/src/test/java/,TestHello.java内容如下:
最后,改好pom.xml和test类文件之后,可以输入mvn test命令,这会重新把项目build出来,并且输出TestHello.java中的test信息。
控制台输出如下:
细心的朋友还会发现,在project-01目录下,新生成了一个target(项目输出)文件夹,下面包括surefire-reports(测试结果)和编译过后的class文件。mvn test可以很好的支持单元测试,maven下的好多命令可以完成其中奇葩怪异的任务,并且mvn 命令支持串行执行。比如,mvn install、mvn clean build等等。
在maven project-01项目中引入junit插件并不困难,只需要在pom.xml中配置好依赖包即可(IDE环境下,依赖项会自动生成)。剩下的测试代码的编写并没有任何不同。另外,test类文件需要按照/src/main/java/的文件结构(main改为test)。
test文件夹结构如下图:
还需要修改pom.xml文件,增加dependencies项,改后的pom.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jizg.study.maven.hello</groupId> <artifactId>hello-first</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies> </project>
接下来在/src/test/java/jizg/study/maven/hello 文件夹下创建TestHello.java文件,这里需要注意,test的包结构可以自定义,要注意必备的路径为/src/test/java/,TestHello.java内容如下:
package jizg.study.maven.hello; import org.junit.*; import static junit.framework.Assert.*; import jizg.study.maven.hello.*; public class TestHello{ @Test public void testHello(){ Hello h = new Hello(); assertEquals(h.sayHello("jizg"),"hello :jizg"); } }
最后,改好pom.xml和test类文件之后,可以输入mvn test命令,这会重新把项目build出来,并且输出TestHello.java中的test信息。
控制台输出如下:
D:\study\maven\01>mvn test [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building hello-first 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hello-firs t --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e . build is platform dependent! [INFO] skip non existing resourceDirectory D:\study\maven\01\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ hello-first - -- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ he llo-first --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e . build is platform dependent! [INFO] skip non existing resourceDirectory D:\study\maven\01\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ hello -first --- [WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil d is platform dependent! [INFO] Compiling 1 source file to D:\study\maven\01\target\test-classes [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ hello-first --- [INFO] Surefire report directory: D:\study\maven\01\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running test.TestHello.TestHello Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.151 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.346s [INFO] Finished at: Wed Oct 02 18:23:23 CST 2013 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------ D:\study\maven\01>
细心的朋友还会发现,在project-01目录下,新生成了一个target(项目输出)文件夹,下面包括surefire-reports(测试结果)和编译过后的class文件。mvn test可以很好的支持单元测试,maven下的好多命令可以完成其中奇葩怪异的任务,并且mvn 命令支持串行执行。比如,mvn install、mvn clean build等等。
相关文章推荐
- Maven学习三:使用junit测试maven project
- Maven学习三:使用junit测试maven project
- IntelliJ IDEA 配合Maven使用Junit进行代码测试
- Maven 的安装与使用 & JUnit 测试入门
- maven spring整合mybatis是使用junit测试报字节序列的错误
- maven+hibernate使用Junit测试找不到hibernate.cfg.xml 的解决
- Hibernate4与Spring4整合,使用Junit4测试相关学习笔记
- 通过测试和代码告诉你Maven是如何使用mirror和repository的---学习笔记
- java学习脚印:java工具早使用——Maven与Junit
- 【SSH】Spring学习(二)使用注解配置Spring、安装STS插件、Spring与junit整合测试、AOP
- JAVA学习笔记_Junit测试简单使用_assertEquals
- Maven的学习资料收集--(四)使用Maven构建Web项目-测试
- 使用maven编译部署代码时,跳过Junit测试的办法
- 解决 使用了maven的项目中,进行Junit测试时的 java.lang.NoClassDefFoundError
- maven spring项目 使用junit测试,出现SpringJunit4Runner的问题
- 基于JUnit使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- Junit框架使用(6)-- 测试套件与Maven测试
- 雾山的Robotium学习笔记---使用junitreport导出测试报告
- Maven简单的配置Junit测试及使用简单的mock
- spring+mybatis报错: 使用junit测试通过。。 使用maven打包出错。。