项目中junit集成测试

使用的是junit4.5,ant1.7,eclipse3.3,在ant中配置相应的junit的脚本命令如下
<target name="test-junit" depends="jar-main,jar-test">
  <!-- 删除原有报告-->
  <delete dir="${build.dir}/junit/reports"></delete>
  <!-- 创建报告的根目录 -->
  <mkdir dir="${build.dir}/junit/reports"/>
  <!-- 进行测试 -->
  <!-- on:在独立虚拟机中进行运行测试 -->
  <junit fork="on" printsummary="on" showoutput="true">
   <!-- 配置classpath,注意不可以配置到含有class文件的目录下
   否则提示找不到.property文件的错误
    -->
   <classpath>
    <!-- 发布目录的jar目录 -->
    <fileset dir="${lib.dir}/release">
     <include name="*.jar"/>
    </fileset>
    <!-- 编译目录的jar目录与上面的目录会有重复的jar,不过没有关系 -->
    <fileset dir="${lib.dir}/build">
     <include name="*.jar"/>
    </fileset>
    <!-- 项目中的java文件编译后的class打包成的jar
    一定要把ssh的配置文件都打包进来
     -->
    <fileset dir="${build.dir}">
        <include name="${project.name}-${project.version}.jar"/>
    </fileset>
    <!-- 测试代码编译后打包成的jar,用来找到测试文件 -->
    <fileset dir="${build.dir}">
     <include name="${project.name}-${project.version}-test.jar"/>
    </fileset>
   </classpath>
   <formatter type="xml"/>
   <!--单个文件测试-->
   <!--
   <test name="ksei.jsjycx.resource.web.TypeSaveActionTest"></test>
   -->
   <!-- 批量测试,下面fileset通过通配符来配置需要测试的源文件 -->
   <batchtest todir="${build.dir}/junit/reports">
    <fileset dir="${src.dir}/test/java">
     <include name="**/*Test.java"/>
    </fileset>
   </batchtest>
  </junit>
  <!-- 生成测试报告 -->
  <junitreport todir="${build.dir}/junit/reports">
   <fileset dir="${build.dir}/junit/reports">
    <include name="*.xml" />
   </fileset>
   <report format="frames" todir="${build.dir}/junit/reports" />
  </junitreport>
</target>

具体看注释。
其中需要强调的就是classpath一定不能配置到项目编译后的classes文件夹的地方,开始想当然的以为这里可以作为classpath,但是一直出现什么junitvm....property什么文件找不到。搞了一天发现需要把项目打成jar就可以了。
集成测试的测试方法的写法可以参考以前写的文章。junit很强大,最起码不用启动tomcat再来测试写的service了。爽。。

猜你喜欢

转载自zhaixp1949.iteye.com/blog/2278361