中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
译:Apache Maven-简化java的构建过程--比apache ant更多(3) 集成单元测试
作者:未知 时间:2005-07-27 22:27 出处:CSDN 责编:chinaitpower
              摘要:译:Apache Maven-简化java的构建过程--比apache ant更多(3) 集成单元测试

集成单元测试


你唯一要做的事情是告诉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.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有