译:Apache Maven-简化java的构建过程--比apache ant更多(3) 集成单元测试

原创 2005年02月25日 18:31:00

集成单元测试


你唯一要做的事情是告诉Maven在那里去找测试代码,剩下的由Maven自动为你完成:
1.在项目对象模型文件 project.xml中,紧接着sourceDirectory元素添加unitTestSourceDirectory元素.
 
            ...
            </sourceDirectory>
            <unitTestSourceDirectory>
                ${basedir}/src/test
            </unitTestSourceDirectory>
            ...
      
2.创建名为BoxTest的测试代码: 文件名:
c:/daven/src/java/smartsoft/daven/BoxTest.java
内容:
            package smartsoft.daven;
            import junit.framework.TestCase;
            
            public class BoxTest extends TestCase{
                public void test1(){
                    Box b = new Box(2,2);
                    assertEquals(4,b.getArea());
                }
            }
      
3.运行java:jar 目标,它将间接的调用java:compile,test:test两个目标
      
maven java:jar
控制台的输出如下:
                      C:/daven>maven jar
            java:prepare-filesystem:
            java:compile:
                [echo] Compiling to C:/daven/target/classes
            java:jar-resources:
            test:prepare-filesystem:
            test:test-resources:
            test:compile:
                [javac] Compiling 1 source file to C:/daven/target/test-classes
            test:test:
                [junit] dir attribute ignored if running same VM
                [junit] Running smartsoft.daven.BoxTest
                [junit] Tests run: 1, Failures: 0, Errors: 0
            BUILD SUCCESSFUL
            Total time:  10 seconds
      

资源库组织jar文件

Maven's Repository Organizes Jar Files
Most projects use third-party libraries in the form of jar files. The repository is a special
Maven mechanism for organizing the jar files and other dependencies that your builds use.
(Maven also uses the term artifact to refer to dependencies.) The repository essentially is a
folder with a Maven-specified structure, and it solves two problems. First, it provides a central
location for all the jar files and other build dependencies you need to build your projects.
Second, it helps deal with version issues by proposing a naming convention. The following is the
structure of a Maven repository: /repository jdo jars kodo-1.1.jar kodo-1.2.jar jdoInterfaces-1.0.jar filters jars jxFilter-1.0.jar jxFilter-1.1.jar

Or, more generally: /repository/groupId/type/artifactId-version.ext
Thus, for kodo-1.1.jar, jdo is the groupId, jar is the type of dependency, kodo is the artifactId,
and 1.1 is the version. These elements will be represented in your POM.



Maven supports a local repository and a shared network repository. It first checks the local repository,
and if it doesn't find the jar file, it checks the shared repository. Maven caches jar files from the
shared directory in the local directory.

Determining Project Dependencies Maven's repository feature is closely related to the way Maven deals with project dependencies.
In Ant, you have to create a classpath to indicate which jar files your project depends on,
while Maven uses the dependencies element in project.xml for that purpose. Add a jar file dependency to your project to see how this works. Add the following block of
code to project.xml, below the currentVersion element but above the build element: ... <CURRENTVERSION>1.0</CURRENTVERSION> <DEPENDENCIES> <DEPENDENCY> <GROUPID>jdo</GROUPID> <ARTIFACTID>kodo</ARTIFACTID> <VERSION>2.5.2</VERSION> </DEPENDENCY> </DEPENDENCIES> <BUILD> ... In order for this tag to work, the following jar file must exist: /repository/jdo/jars/kodo-2.5.2.jar Multiple goals use the dependency tag. For example, the compile goal uses it to generate
the classpath, and the deploy goal uses it to determine which jar files to copy.

相关文章推荐

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

一、环境准备1、Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/ 。安装方法有以下两种方式: 1)把下载下来的jenkins.war包放到文件夹下...

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

转载地址:http://www.cnblogs.com/puresoul/p/4212752.html 一、环境准备 Jenkins: 到官网下载jenkins.war包...
  • wanglha
  • wanglha
  • 2015年10月23日 13:52
  • 1514

搭建持续集成单元测试平台(Jenkins+Ant+Java+Junit+SVN)

一、环境准备 Jenkins: 到官网下载jenkins.war包:http://jenkins-ci.org/安装方法有两种: 把下载下来的jenkins.war包放到文件夹下,如...

Java单元测试进阶之单元测试利器JUnit(Ant与持续集成)

使用testSuite有一些缺点,当你增加新的TestCase的时候,你的TestSuite也要相应的修改,而且还是手工的修改,这样如果持续修改的话是让人受不了的。         使用Eclips...

Maven管理的Spring Web项目集成JUnit单元测试

JUnit是一套优秀的单元测试框架,而Maven是优秀的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试。   一般的简单Java应用就不多说了,一些框架会提供针对junit...

Maven管理的Spring Web项目集成JUnit单元测试

JUnit是一套优秀的单元测试框架,而Maven是优秀的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试。         一般的简单Java应用就不多说了,一些框架会提供针对ju...
  • NearEast
  • NearEast
  • 2013年10月25日 00:12
  • 14227

Ant+Junit产生java的单元测试报告

这篇文章的目的就是用来记录一下java单元测试报告产生的过程,防止时间久忘记。 先讲直接使用eclipse去搭建一个测试环境的流程: 上面是一个简单例子的搭建,src中存放源码,tes...
  • nitibu
  • nitibu
  • 2015年09月15日 13:19
  • 1403

Maven开发过程实践之单元测试报告 test

原文:http://www.cnblogs.com/jinspire/archive/2011/10/31/2229764.htmlIT男罗书全凝视着单元测试通过的一条条绿线,长长的舒了一口气,单元测...

Maven sonar 单元测试 集成测试 整合

When I started using Java 7, I noticed right away that the Cobertura Maven plugin doesn’t support ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:译:Apache Maven-简化java的构建过程--比apache ant更多(3) 集成单元测试
举报原因:
原因补充:

(最多只允许输入30个字)