liguofeng29’s blog

個人勉強用ブログだっす。

junit.framework.TestSuiteを使って、AllTest.javaを実装する。

・AllTest.java

package org.lee.samle;

import junit.framework.JUnit4TestAdapter;
import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTest {

    public static Test suite() {
        TestSuite suite = new TestSuite();
        
        // TestCase継承した場合
        suite.addTestSuite(AppTestWithTestCase.class);
        
        // TestCase継承してない場合
        suite.addTest(new JUnit4TestAdapter(AppTestWithoutTestCase.class));

        return suite;
      }
}

・App.java(テスト対象)

package org.lee.samle;

/**
 * Hello world!
 * 
 */
public class App {
    public boolean isAdult(int age) {
        return age >= 20;
    }
}

・AppTestWithoutTestCase.java(テストクラス)

package org.lee.samle;

import org.junit.Test;
import org.junit.internal.runners.JUnit4ClassRunner;
import org.junit.runner.RunWith;
import org.seasar.framework.unit.S2Assert;

/**
 * Unit test for simple App.
 */
@RunWith(JUnit4ClassRunner.class)
public class AppTestWithoutTestCase {
    App app;
    
    @Test
    public void testIsAdult() {
        app = new App();
        S2Assert.assertFalse(app.isAdult(19));
        S2Assert.assertTrue(app.isAdult(20));
        S2Assert.assertTrue(app.isAdult(21));
    }
}

・AppTestWithTestCase .java(テストクラス)

package org.lee.samle;

import junit.framework.TestCase;

import org.seasar.framework.unit.S2Assert;

/**
 * Unit test for simple App.
 */
public class AppTestWithTestCase extends TestCase{
    App app;
    
    public void testIsAdult() {
        app = new App();
        S2Assert.assertFalse(app.isAdult(19));
        S2Assert.assertTrue(app.isAdult(20));
        S2Assert.assertTrue(app.isAdult(21));
    }
}

※AllTest.javaを実行することで対象のすべてのテストクラスが実行される。 ※AllTest.javaをEclEmmaなどでカバレッジを確認すればよい。