编写完Testcase,一般需要将Testcase组织成Testsuite,这样可以一次跑多个Testcase类。JUnit4中组织Testcase的方式有多种。
通过Annotation
最简单的还是通过annotation。下面的类就是通过Annotation来将多个Testcase组织成一个Suite。
上面的类不需要代码,就俩标注就行了。一个@org.junit.runner.RunWith,一个@org.junit.runners.Suite。@RunWith表示这个类将以哪种形式来跑。后面的类型必须是Runner接口的实现。在这里指定为Suite。@Suite.SuiteClasses则可以包含多个test unit类。
@Suite.SuiteClasses中的类也可以指定另一个TestSuite,这样就可以有多个包含层次了。不过其中的Test unit不能间接或者直接的包含当前类,否则就死循环了嘛。
这个类在Eclipse里面是可以直接Run As JUnit Test的。
通过Annotation
最简单的还是通过annotation。下面的类就是通过Annotation来将多个Testcase组织成一个Suite。
package test.Junit4;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestA.class,TestB.class})
public class TestSuit {
}
;
上面的类不需要代码,就俩标注就行了。一个@org.junit.runner.RunWith,一个@org.junit.runners.Suite。@RunWith表示这个类将以哪种形式来跑。后面的类型必须是Runner接口的实现。在这里指定为Suite。@Suite.SuiteClasses则可以包含多个test unit类。
@Suite.SuiteClasses中的类也可以指定另一个TestSuite,这样就可以有多个包含层次了。不过其中的Test unit不能间接或者直接的包含当前类,否则就死循环了嘛。
这个类在Eclipse里面是可以直接Run As JUnit Test的。
package test.Junit4;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestA
{
//这个构造函数必须有
public TestA()
{
}
@Before
public void before()
{
System.out.println("TestA begin!");
}
@Test
public void test()
{
System.out.println("TestA doing!");
}
@After
public void after()
{
System.out.println("TestA end!");
}
} ;
package test.Junit4;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestB
{
public TestB()
{
}
@Before
public void before()
{
System.out.println("TestB begin!");
}
@Test
public void test()
{
System.out.println("TestB doing!");
}
@After
public void after()
{
System.out.println("TestB end!");
}
} ;