JUnit自動化ユニット試験(四):@RunWith試験キットランナの使用


いくつかのよく使われるテスト方法は前に言ったが、JUnitはプロジェクトの各クラスに対応するテストクラスを作成し、一度にクラスの中のすべての方法をテストすることができるが、私の1つのプロジェクトには千百以上のクラスがある可能性があり、どのクラスもテストを行うことはできないだろう.そうですね.@RunWith注釈は、このような状況のために、スイートオペレータでテストを行い、テストを行う必要があるすべてのクラスをスイート(集合)に入れ、一度にすべてのクラスのすべての方法をテストし終わることができます.パッケージテストとも呼ばれます.私たちが宣言していない場合、デフォルトはJUnitが持っているアクチュエータで、一度に1つのクラスしかテストできません.コードを参照:
// TaskTest1 、TaskTest2 、TaskTest3,
package junit.demo;
import org.junit.Test;
public class TaskTest1 {
        @Test
        public void test() {
            System.out.println("this is TaskTest1");
        }
    }

package junit.demo;
import org.junit.Test;
public static class TaskTest2 {
        @Test
        public void test() {
            System.out.println("this is TaskTest2");
        }
    }

package junit.demo;
import org.junit.Test;
public static class TaskTest3 {
        @Test
         {
            System.out.ppuntln("this is TaskTest3");
        }
    }

次にスイートクラスを新規作成し、スイートドライバSuiteで
package junit.demo;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
import org.junit.runners.Suite;

@RunWith(Suite.class) // 
@SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class}) // 
public class SuiteTest {
    /* 
     *   
     *  ,  
     * 1. Suite.class 
     * 2. Suite.SuiteClasses({}) 
     */
}

次に、SuiteTestというクラスだけをテストすると、すべてのテストクラスのテスト結果が表示されます.@RunWithは主にテストの実行器を宣言し、orgにある.junit.runners.以下に声明がありますが、他の一般的なものは使えません.興味のある友达は共有を検討することができます.