テスト(Junit 3)

6702 ワード

コードをテストするためにしなければならないことはいくつかあります。

  • 試験準備に必要な条件
  • テストするメソッドを呼び出す
  • 被験方法の挙動と所望が一致するかどうかを検証する
  • .
  • 完了後各種資源を整理する
  • TestCase


    テストクラスはTestCaseを継承し、テストメソッドはtestで始まり、パラメータ付き構造メソッドによって名前によってTestCaseを作成することができる.
    クラスにsuiteメソッドを追加して選択的に実行できます
    public static Test suite(){
        System.out.println("suite");
        TestSuite suite = new TestSuite();
        suite.addTest(new TestLargest("testLargest"));
        return suite;
    }

    TestSuite


    コンビネーションテスト用
    TestSuite suite= new TestSuite();
     suite.addTest(new MathTest("testAdd"));
     suite.addTest(new MathTest("testDivideByZero"));

    大量テスト時
     Class[] testClasses = { MathTest.class, AnotherTest.class }
     TestSuite suite= new TestSuite(testClasses);

    Pre-MethodのsetuUp tearDown


    各testの前にsetupが実行され、完了後にtearDownが実行されます
    protected void setUp() throws Exception {}
    
    @Override
    protected void tearDown() throws Exception {}

    Pre-suiteのsetuUp tearDown


    suite前後にsetup tearDownを1回実行
    suite(どんな方法でsuiteを作成しても)をTestSetupで包装する
    public static Test suite(){
        TestSuite suite = new TestSuite();
        suite.addTest(new TestLargest("testLargest"));
        suite.addTest(new TestLargest("testSmallest"));
    
        TestSetup suiteSetup = new TestSetup(suite){
            @Override
            protected void setUp() throws Exception {
                System.out.println("suite setup");
            }
    
            @Override
            protected void tearDown() throws Exception {
                System.out.println("suite tearDown");
            }
        };
    
        return suiteSetup;
    }

    アサーションメソッド

    assertEquals() assertTrue() assertFalse() assertNull() assertNotNull() assertSame() assertNotSame() fail() failNotEquals() failSame() failNotSame()

    カスタムアサーション


    独自のテストベースクラスを作成し、ベースクラスに独自の断言方法を提供します.
    public class BaseTestCase extends TestCase {
    
        protected void setUp() throws Exception {
            super.setUp();
        }
    
        protected void tearDown() throws Exception {
            super.tearDown();
        }
    
        public void assertGood(int score){
            assertTrue( score >= 60);
        }
    }

    JUnitと異常


    テストには2つの異常があります
  • 試験コードから放出された予測可能な浴場
  • あるモジュール(コード)によって発生する重大なエラーであり、放出された予測不可能な異常
  • である.
    public void testSortList() throws NullPointerException {
        try {
            MyClass.sortList(null);
            fail();
        } catch (Exception e) {
            assertTrue(true);
        }
    }

    より具体的なテスト方法はまだ検討されている.

    簡単なまとめ


    junitを使用してテストを行うには、一般的に次の4つのステップにまとめることができます.
  • テストクラスを書き、TestCaseクラスを継承する.
  • 試験方法testXXXX()を書く.
  • テストキットクラスを書いてtest caseをtest suiteに追加します.
  • TestRunnerを実行してテストを行う.public static Test suite()はデフォルトのTestSuiteエントリであり、デフォルトではテストクラス内のすべてのテストメソッドが実行されるため、一般的なsuite()メソッドは省略して書かないことができる.junit TestRunnerにはAWT,SWING,TEXTの3種類の
  • がある.
    非常に簡潔なJunit 3、4のチュートリアルを添付します
    http://download.csdn.net/detail/a06_kassadin/8555949