Junit给出了错误

时间:2011-11-15 00:09:23

标签: java ant junit

我可以让我的junit课程从eclipse开始工作。但它对蚂蚁没有用。我收到此错误消息。

空测试:导致错误 com.fourhome.commons.Test_DeviceTypes java.lang.ClassNotFoundException:com.fourhome.commons.Test_DeviceTypes

我的ant类路径中有junit-3.8.2.jar。还有com.fourhome.commons。

<property name="tests" value="${basedir}/tests/" />

<path id="test.classpath">

  <pathelement location="${classesdir}" />
  <pathelement location="${builddir}" />
  <pathelement location="${basedir}\tests\junit-3.8.2.jar" />        

  <fileset dir="${libsdir}">
        <include name="**/*.jar"/>
  </fileset>       

  <fileset dir="${pluginsdir}">
        <include name="**/*.jar"/>
  </fileset>
</path>

<target name="test">
  <junit fork="yes" haltonfailure="no">
    <batchtest fork="yes"  todir="${builddir}">
        <fileset dir="${tests}">              
           <include name="**/Test*.java" />             
        </fileset>
    </batchtest>
    <classpath refid="test.classpath" />
    <formatter type="brief" usefile="false" />
  </junit>
</target>

junit code

package com.fourhome.commons;

import junit.framework.TestCase;
import junit.*;

public class Test_DeviceTypes extends TestCase {

public void testIsTypeValid() { 
    assertEquals(DeviceTypes.isTypeValid(DeviceTypes.TYPE_BINARY_SENSOR), true);        
}   
}

1 个答案:

答案 0 :(得分:0)

解释在您的错误消息中。您正在获取类名而不是.class文件。您必须编译JUnit测试(显然是您的生产类)并将它们放在类路径上。 Eclipse会自动执行此操作,但您必须在Ant中明确执行此操作。