selenium – org.junit.Test和junit.framework.Test包之间的区别

<project name="JunitSuite" basedir="." default="clean">

    <property name="${src}" value="./src/JunitSuiteProject" />
    <property name="${build}" value="./build" />
    <property name="package" value="JunitSuiteProject"/>
    <property name= "jar" value="./build/jar"/>

    <target name="clean">
        <delete dir="./build"/>
        <mkdir dir="./build"/>
        <mkdir dir="./build/jar"/>
    </target>

<target name="run">
        <junit printsummary="yes" haltonfailure="yes" showoutput="yes">
            <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\selenium-server-standalone-2.35.0.jar"/>
            <classpath location="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100\junit.jar"/>
            <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\*.jar"/>
            <classpath location="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\"/>
            <formatter type="brief" usefile="false"/>               
        <batchtest fork="yes"> 
            <fileset dir="C:\Program Files\Java\apache-ant-1.9.2\lib" includes="selenium-server-standalone-2.35.0.jar"/>
            <fileset dir="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100" includes="junit.jar"/>
            <fileset dir="C:\Program Files\Java\apache-ant-1.9.2\lib" includes="*.jar"/>
            <fileset dir="./build" includes="**/AllTests.*"/> 
        </batchtest>
     </junit>
</target>   

    <target name="compile">
        <javac srcdir="./src/JunitSuiteProject" destdir="./build" includeantruntime="true">
                  <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\selenium-server-standalone-2.35.0.jar" />
        </javac>
    </target>

    <target name="jar">
        <jar destfile="./build/jar/JunitSuite.jar" basedir="./build">
        </jar>
      </target>

</project>
    **************************************************************

    package JunitSuiteProject;


    import junit.framework.TestSuite;
    import junit.framework.Test;
    import org.junit.runners.Suite;
    import org.junit.runner.RunWith;
    import org.junit.runners.Suite.SuiteClasses;

    @RunWith(Suite.class)
    @SuiteClasses({JunitTest1.class})


    public class AllTests extends TestSuite{

        public static Test Suite(){
        TestSuite g = new TestSuite();
        g.addTest(new JunitTest1("testprintTest"));
        return g;
    }
        public static void main(String[]args){
            junit.textui.TestRunner.run(Suite());
        }
    }

当我在Junit中指定Jars的位置时,有没有人能让我知道这里的问题为什么我得到ClassNotFoundException当我触发Ant文件时出错.

The output says: 

[junit] Running AllTests
    [junit] Testsuite: AllTests
    [junit] Tests run: 1,Failures: 0,Errors: 1,Time elapsed: 0 sec
    [junit] Tests run: 1,Time elapsed: 0 sec
    [junit] Null Test:  Caused an ERROR
    [junit] AllTests
    [junit] java.lang.classNotFoundException: AllTests

使用的junit是3.8版本,它作为junit测试执行正常,但是从build.xml文件启动时出错.

解决方法

junit.framework.Test包是Junit v3使用的旧命名空间,用于不支持注释的旧版Java.

org.junit.Test是JUnit v4使用的新命名空间,它需要Java v1.5或更高版本才能进行注释.如果可能,请使用JUnit 4和最新的Java,因为新的注释非常优越. JUnit 4的当前发行版包括旧命名空间的副本,以便于迁移;但是你应该避免使用JUnit3进行新的测试并将它们转换为JUnit 4测试.

在JUnit 4中,两个包都包含在库中以用于迁移,但是您应该使用org.junit.Test来获取代码,而不需要扩展TestCase.

你可以看到a basic example of Junit4 test case.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...