51Testing软件测试论坛

标题: 求助:ant执行单元测试的问题 [打印本页]

作者: limitmx    时间: 2008-2-20 19:12
标题: 求助:ant执行单元测试的问题
倒腾了半天,就剩下ant执行单元测试这关过不去了,产生的报告一直提示找不到类,具体如下
Testsuite: crs.bd.bonus_case.BcsCsapBDTest
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
        Caused an ERROR
crs.bd.bonus_case.BcsCsapBDTest
java.lang.ClassNotFoundException: crs.bd.bonus_case.BcsCsapBDTest

各位大侠帮帮忙啊
作者: limitmx    时间: 2008-2-20 19:12
忘记了贴ant代码了  
<target name="unittest">
    <junit printsummary="yes" haltonfailure="yes" fork="yes">

      <classpath refid="project.class.path"></classpath>
      <formatter type="xml" />
      <formatter type="plain" />

      <batchtest fork="yes" todir="${report}" >
        <fileset dir="${src}">
          <include name="**/*Test.java" />
        </fileset>
      </batchtest>
    </junit>
  
    <!--<junitreport todir="${report}" >
         <fileset dir="${report}" >
            <include name="TEST-*.xml"/>
         </fileset >
         <report format="frames" todir="${report}"/>
    </junitreport> -->
  </target>
作者: limitmx    时间: 2008-2-21 23:08
已经解决 原来是classpath问题 低级错误 惭愧
作者: berniebd    时间: 2008-2-27 18:14
你好,我也被ant的这个配置文件卡住了,下面是build.xml文件的代码,还有我的程序的目录格式
<?xml version="1.0" encoding="utf-8"?>
<project name="test" default="test" basedir=".">
       <!--配置基本属性-->
       <property name="src" value="src"/>
       <property name="build" value="build"/>
       <property name="lib" value="lib" />
       <property name="dist" value="dist"/>
       <property name="classpath" location="${src}"/>

       <!--配置测试报告的属性-->
       <property name="report"   value="report"/>
       <property name="report.xml"  value="${report}/junit/xml"/>
       <property name="report.html" value="${report}/junit/html"/>

       <!--配置运行时classpath-->
       <path id="classpath.run">
              <pathelement path="${classpath}"/>
              <fileset dir="${lib}">
                     <include name="*.jar"/>
              </fileset>
       </path>

                   <!--配置测试时classpath-->
       <path id="classpath.test">
              <path refid="classpath.run"/>
              <path location="${dist}/lib/test-${DSTAMP}.jar"/>
       </path>

       <!--任务初始化-->
       <target name="init" >
              <tstamp/>
              <delete dir="${build}"/>
              <delete dir="${report}"/>
              <delete dir="${dist}"/>
              <mkdir dir="${build}"/>
       </target>

       <!--配置编译任务-->
       <target name="compile" depends="init">
              <javac srcdir="${src}" destdir="${build}">
                      <classpath refid="classpath.run" />
              </javac>
       </target>

       <!--配置打包任务-->
       <target name="dist" depends="compile">
              <mkdir dir="${dist}/lib"/>
              <jar jarfile="${dist}/lib/test-${DSTAMP}.jar" basedir="${build}"/>
       </target>

       <!--配置运行任务-->
       <target name="run" depends="compile, dist">
         <java classname="com.junit.testAddAndSubtract">
             <classpath>
                     <path refid="classpath.run"/>
              </classpath>
         </java>
       </target>

       <!--配置JUnit测试,打印测试结果-->
       <target name="test" depends="compile, dist">
              <mkdir dir="${report.xml}"/>
              <mkdir dir="${report.html}"/>
              <junit printsummary="yes" haltonfailure="no">
                     <classpath refid="classpath.run"/>
                     <formatter type="xml"/>
                     <batchtest fork="yes" todir="${report.xml}">
                            <fileset dir="${src}" includes="**/test*.java"/>
                     </batchtest>
              </junit>
              <junitreport todir="${report.html}">
                     <fileset dir="${report.xml}">
                            <include name="*.xml"/>
                     </fileset>
                     <report format="frames" todir="${report.html}"/>
              </junitreport>
       </target>
</project>

|--src--|--com--|--wallace--|--AddAndSubtract.java
                            |--MultiplyAndDivide.java
                            |--Student.java
                |--junit--  |--AddAndSubtract.java
                            |--MultiplyAndDivide.java
                            |--Student.java
|--lib--|--junit.jar
|--build.xml
在使用ant构建build.xml时,总是提示:Could not find com.test.testAddAndSubtract. Make sure you have it in your classpath,不知错误出现在哪,麻烦帮忙看下
作者: irabbit    时间: 2010-9-22 08:00
回复 1# limitmx


    您好,我在刚学习中,我也遇到了相同的问题,花了一个星期了还没有解决掉,希望有人可以帮忙下,我可以发下整个文档。

  我的邮箱lance7.liu@gmail.com
作者: tecsure    时间: 2011-2-24 16:36
回复 4# berniebd

<junit printsummary="yes" haltonfailure="no">
                     <classpath refid="classpath.run"/>


这一段只将classpath.run加入classpath, 而忘了把之前你compile出来的测试代码的.class 加入classpath了。 加上应该就行了
作者: www.zhufuyu.us    时间: 2011-8-10 14:37
各位坛友,我是新手 请大家多多关照小弟我啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2