開発からテストまで
3441 ワード
JUnitの概要
JUnitはJava言語のユニットテストフレームワークです.Kent BeckとErich Gammaによって構築された回帰試験フレームワーク(regression testing framework).Junitテストはプログラマーテスト、いわゆるホワイトボックステストです.プログラマーはテストされたソフトウェアがどのように機能を完成し、どのような機能を完成するかを知っているからです.
ユニットテスト仕様
JUnit 4常用注記
注釈
注記位置
機能
@Test
方法
2つのプロパティがあります:1.Exceptedプロパティは、例外をテストするために使用されます.2.timeoutは性能をテストするために使用され、1つの方法が所定の時間内に完成できるかどうかをテストすることである.
@Rule
メンバー変数、メソッド(すべて非静的である必要があります)
RuleはJUnit 4の新しい特性であり、JUnitの機能を拡張し、テスト方法の動作を柔軟に変更することができます.JUnitでは,@Ruleと@ClassRuleの2つの注釈でRule拡張を実現しているが,この2つの注釈はTestRuleの口実を実現したメンバー変数(@Rule)または静的変数(@ClassRule)に置く必要がある.Ruleと@ClassRuleの違いは,@Ruleはメソッドレベルであり,各テストメソッドの実行時に注釈されたRuleが呼び出され,@ClassRuleはクラスレベルであり,1つのテストクラスの実行時に注釈されたRuleが1回しか呼び出されない点である.Timeout、RuleChainなど、単一または複数のルールを設定できます.
@Before
方法
各テストメソッドの実行前に自動的に呼び出す
@After
方法
各テストメソッドの自動呼び出しが完了しました
@BeforeClass
方法
すべてのテストメソッドを実行する前に1回実行し、テストクラスがインスタンス化されていないうちにロードされているのでstaticで修飾します.
@AfterClass
方法
すべてのテストメソッドが1回実行されると、テストクラスでインスタンス化されずにロードされるのでstaticで修飾されます.
@Ignore
メソッド、クラス
テストクラスまたはテストメソッドを実行しない
public class AnnotationTest {
public AnnotationTest(){
System.out.println(" ");
}
@BeforeClass
public static void setUpBeforeClass(){
System.out.println("BeforeClass");
}
@AfterClass
public static void tearDownAfterClass(){
System.out.println("AfterClass");
}
@Before
public void setUp(){
System.out.println("Before");
}
@After
public void tearDown(){
System.out.println("After");
}
@Test
public void test1(){
System.out.println("Test1");
}
@Test
public void test2(){
System.out.println("Test2");
}
@Ignore
public void test3(){
System.out.println("Test3");
}
}
出力:
BeforeClass
Before
Test1
After
Before
Test2
After
AfterClass
public class Example1 {
@Rule()
public Timeout t = new Timeout(100, TimeUnit.MILLISECONDS);
@Test
public void t1() throws Exception
{
Thread.sleep(200);
assertEquals(1, 2);
}
}
一般的なブレークスルー・メソッド
アサーションメソッド
さぎょう
assertTrue
条件が真かどうかを調べる
assertFalse
条件が偽かどうかを調べる
fail
レポートなしでテストを不合格にする
assertEquals
チェックが等しい
assertNotEquals
検査不等
assertArrayEquals
Arrayが等しいかどうかを確認
assertNotNull
空でないかチェック
assertNull
空かどうかを確認
assertSame
オブジェクト参照が等しいかどうかを確認
assertNotSame
オブジェクト参照が等しくないかどうかを確認
assertThat
オブジェクトがマッチングの条件を満たしているかどうかを確認します.org.hamcrest.CoreMatchersにはany,not,equalToなどの断言方法がたくさんあります
テストキットの作成
スイートテストクラスは、各テストを個別に実行するのではなく、注釈の順序で実行させます.
@RunWith(Suite.class)
@Suite.SuiteClasses({ PrepareMyBagTest.class, AddPencilsTest.class })
public class SuitTest {
}