JUnitテストメモ


今日junitテスト技術について話しますが、実はこの技術の大部分の人は聞いたことがありますが、一部の人は使ったことがありません.どの小さな場所でエラーが発生しても発見しにくい可能性がありますが、junitテクノロジーというユニットテストテクノロジーは、開発しながらテストすることができ、最終的な製品のエラーの確率を最小限に抑えることができます.
今日お話しした例では、開発環境はmyeclipse 6です.0、この開発環境では、JUnitテストに関連するクラスが統合されています.環境で設定すればいいです.下図に示すように、javaプロジェクトを作成した後、プロジェクトのプロパティをクリックして、下図に示すように設定すればいいです.
この時、私たちの工事はこれらのJunitのテスト関連のクラスをすべて導入して、この時私たちのテストの過程を始めることができます.
私たちは通常srcソースファイルパッケージの下に私たちのソースコードを書きます.私たちのテストクラスが私たちのプロジェクトと分離され、私たちのプロジェクトのテストクラスをコンパイルした後、私たちのテストを行うクラスのコンパイルファイルと同じパッケージの下にあることを保証するために、私たちはプロジェクトでtestソースパッケージを新規作成することができますが、テストクラスと私たちのテストするクラスと同じパッケージパスがあることを保証します.例えば、我々のテストクラスの相対パスはorgである.rjb.Calculate、testソースパッケージのテストクラスのパスはorgです.rjb.CalculateTest、そうすると彼らはコンパイルしてから同じパッケージのパスの下にいます.信じないならやってみてください.
次に、いくつかのルールについて説明します.
試験類名詞は被試験類類名+Testと定義して命名することができる(規定にはならない).
テストクラスはjunitから継承する必要があります.framework.TestCase、ここで宣言する方法はいくつかあります.
    1.public void setUp():このメソッドは、各テストメソッドの開始前に呼び出すメソッドです.つまり、いくつかのメソッドをテストするには、JUnit 3で何回か呼び出す必要があります.8ではそうするしかないが、JUnit 4.0では、テスト中に1回だけ呼び出すことができます.
    2.public void tearDown():この方法は上記の方法とは対照的で、つまり各テスト方法のテスト後に呼び出され、呼び出し回数は完全に上記の方法と同じです.
テストクラスのメソッド命名規則はtest+被テストメソッド名であり、もちろん被テストメソッド名は大文字である.すなわち,試験方法はtestの先頭でなければならず,対応する方法が反射によって見つかったことがわかる.
すべてのテストクラスを一度に実行できることを考慮すると、junit.を継承する限り、テストクラスを定義することができます.framework.TestSuiteでいいのですが、このときpublic static Test suite()という方法が必要です.どのように使うかは、次のコードの展示を見てください.
OK、こんなにたくさん話して、コードを書くことができるのは硬い道理で、次はコードを見て、みんなに助けてほしいです:
まず、テストを行うクラスCalculateを見てみましょう.java:
package org.rjb;

public class Calculate {
 public int add(int a,int b){
  return a+b;
 }
 public int minus(int a,int b){
  return a-b;
 }
}
 CalculateTest.java, test:
package org.rjb;

import junit.framework.Assert;
import junit.framework.TestCase;

/**
 *  TestCase
 * @author Administrator
 *
 */
public class CalculateTest extends TestCase{
 private Calculate cal;

/**
  *  
  */
 public void setUp(){
  System.out.println("Begin Test");
  cal=new Calculate();
 }
 /**
  *  
  */
 public void tearDown(){
  System.out.println("End Test");
 }
 /**
  *  test 
  */
 public void testAdd(){
  int result=cal.add(1, 2);
  Assert.assertEquals(3, result);
 }
 public void testMinus(){
  int result=cal.minus(2, 1);
  Assert.assertEquals(1, result);
 }

}


このとき、実行するだけでテスト結果が表示されます.IDEの左側にa barが表示されます.緑のバーであれば、テストが合格したことを示します.赤であれば、説明が正しくありません.期待値とは異なります.この点を覚えておいてください.緑のバーが表示されると、テストがあなたの期待に合っているとしか言えませんが、セグメントコードが正しいとは言えません.
私たちは自分でいくつかのテストのクラスを書くことができて、まさか私たちがテストするならすべて1つのテストですか、これはもちろんだめです.だからJUnitは私たちにテストの方法を提供して、具体的には以下のように実現しました.
package org.rjb;

import junit.framework.Test;
import junit.framework.TestSuite;
/**
 *  TestSuite 
 * @author Administrator
 *
 */

public class TestAll extends TestSuite{
 // public static , Test , suite
 public static Test suite(){
  TestSuite suite = new TestSuite();
  suite.addTestSuite(CalculateTest.class);
  suite.addTestSuite(LargestTest.class);
  return suite;  
 }

}

そうすれば、私たちは一度に複数のテストクラスを実行することができます.ok、簡単です.実はJUnitに関連するものはもともと多くありません.上のコードを理解できれば、プロジェクトにすぐに上のテスト方法を適用することができます.