如何在Junit4上使用TestSuite?

时间:2010-09-07 23:33:17

标签: java unit-testing junit4

我似乎无法找到有关如何执行此操作的任何文档,这些文档实际上解释了如何调用testsuite。到目前为止,我有这个:

package gov.hhs.cms.nlr.test;

import java.util.LinkedList;   
import org.junit.runner.RunWith;    
import gov.hhs.cms.nlr.test.marshalling.InquiryMarshallingTest;
import junit.framework.Test;
import junit.framework.TestSuite; 
import org.junit.runner.RunWith;
import org.junit.runners.Suite;

public class AllTests {

    @RunWith(Suite.class)
    @Suite.SuiteClasses({
        SomeTestTest.class
        SomeOtherTest.class
    })

    public class AllSuites {
        // the class remains completely empty, 
        // being used only as a holder for the above annotations
    }    
}

但是我真的不明白我怎么能运行这个...我想要做的是接受所有给定的测试(每个测试,并从每个具有测试方法的类)并将这些全部放入1 TestSuite然后调用这一点。

更新:我想知道如何在( 1 )Eclipse和( 2 )hudson和()中运行此操作3 )普通的java / JVM调用(例如:java ...)。谢谢。

1 个答案:

答案 0 :(得分:2)

我想你想要这样的东西:

package gov.hhs.cms.nlr.test;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({OtherTest.class, SomeTestTest.class})
public class AllTests 
{

}

更简单......它给你这个:

screenshot of Eclipse running test suite

在Eclipse中运行

您可以像常规JUnit类一样运行它:Run-> Run As-> JUnit Test。

在Hudson中跑步

取决于您如何运行构建。蚂蚁?行家?

从Java

运行

查看JUnit FAQ。基本上是:

java org.junit.runner.JUnitCore gov.hhs.cms.nlr.test.AllTests