方法テストユニットテスト(2)--Junit簡明ガイド

7572 ワード

本文は个人の见解で、前の学习の総括に対してで、もし说明が正しくない地方があるならばまた达人に指摘してもらいます~
    

一、常で断言する


    
 
    
1.assertEquals([String message],Object target,Object result)targetはresultにふさわしくなく、試験方法を中断し、message assertEquals(a,b)試験aがbであるかどうかをテストする(aとbは元のクラス値数(primitive value)または比較を実現するためにequal方法を持たなければならない)assertEqualsは2つの象対が相応しいと断言し、満足しない場合、方法は対応する情報を持つAssertFailedError ?を放出するのは常異である.
    
public static void assertEquals(Object[]expected,Object[]actual)public static void assertEquals(String message,Object[]expected,Object[]actual)はJUnit 4が比較配列に追加する2つのassert()方法である.この2つの方法は、最も直接的な方法で配列を比較します.配列の長さが同相で、対応する要素ごとに同相である場合、2つの配列は一致します.そうでない場合、一致しません.配列が空の场合も考虑した.
    
2.assertTrue/False([String message],Boolean result)Resultはfalse/trueであり、試験方法を中断し、出力message assertTrueの断言条件は真であり、満足しなければ、方法は応相情報を持つAssertFailedError ?を放出する.assertFalseは条件が偽であると断言し,満足しない場合,方法は対応情報を持つAssertFailedError ?を放出するのが常である.assertFalse(a)はaがfalse(偽)であるかどうかをテストし、aはBoolean値の数である.
    
3. assertNotNull/Null([String message],Obejct result ) Restult == null/result!=null,割り込み試験方法,出力message assertNullはnullと断言しているが,満足しなければ,方法は対応する情報を持つAssertFailedError ?を投げ出すのが常異である.assertNotNullは,対がnullではないと断言し,満足しなければ,方法は応相情報を持つAssertFailedError ?常異を放出する.assertNotNull(a)はaが空ではないかどうかをテストし、aはペアまたはnullである.
    
4.assertSame/NotSame ?(Object target,Object result)Tragetとresultは統一メモリアドレス(インスタンス)を指し示さず、試験方法を中断し、message assertSameは2つの参照が統一イメージペアを指し示すと断言し、満足しない場合、方法は対応情報AssertFailedError ?を投げ出すのが常異である.assertNotSameは、2つの参照が異なるペアを指すと断言し、満足しなければ、方法は、対応する情報を有するAssertFailedError ?を放出する.assertNotSame(a,b)は、aとbが統一されたペアを参照していないかどうかをテストする.
    
5.fail([String message])テストメソッドを中断し、message Failを出力してテストを失敗させ、指定した情報を与える.
    

二、注釈(java annotation)


    
JUnit 4はJava 5での注釈(annotation)を使用し、以下はJUnit 4が通常のいくつかのannotationで紹介@Before:初期化方法@After:リリースリソース@Test:テスト方法であり、ここでは期待常和時超時間をテストできる@Ignore:やや油断したテスト方法@BeforeClass ?:すべてのテストに対して1回のみ実行し、static void@AfterClass ?:すべてのテストに対して、一度だけ実行し、かつstatic voidの1つのJUnit 4である必要があるユニット試験例用実行順:@BeforeClass ?->@Before->@Test->@After->@AfterClass ?
毎日同じ理屈
出発してこそ、理想と目的地に着くことができ、奮闘してこそ、輝かしい成功を得ることができ、種をまいてこそ、収穫がある.追求してこそ、堂々とした人を味わうことができる.
    
@Ignore:この例は次のコードで示されていますが、verifyZipCodeMatchは実行されません.
    
 
@Ignore("this regular expression isn't working yet")
@Test
public void verifyZipCodeMatch() throws Exception{        
 Pattern pattern = Pattern.compile("^\\d{5}([\\-]\\d{4})"); 
 Matcher mtcher = pattern.matcher("22011");
 boolean isValid = mtcher.matches();        
 assertTrue("Pattern did not validate zip code", isValid);
}

    
 
    

三、特別なテスト型類


    
 
    

1.異種に対するテスト


    
 
    
@Testの後に所望の常異を加えることにより、その常異を投げ出さなければテストに失敗する
    
 
@Test(expected=IndexOutOfBoundsException.class)
 public void verifyZipCodeGroupException() throws Exception{        
  Matcher mtcher = this.pattern.matcher("22101-5051");
  boolean isValid = mtcher.matches();            
  mtcher.group(2);        
 }

    
 
    

2.タイムアウトテスト


    
@Test後に指定されたタイムアウト(単位:ミリ秒)に参加することで
    
 
@Test(timeout=1)
public void verifyFastZipCodeMatch() throws Exception{        
 Pattern pattern = Pattern.compile("^\\d{5}([\\-]\\d{4})?$"); 
 Matcher mtcher = pattern.matcher("22011");
 boolean isValid = mtcher.matches();        
 assertTrue("Pattern did not validate zip code", isValid);
}

    
 
    
注:本文は重要なネットワーク抜粋から、重要なのは、Java 5における注釈(annotation)http://www.ibm.com/developerworks/cn/education/java/j-junit4/index.html JUnit断言方法http://niatwangcong.iteye.com/blog/292820
Photoshopがあってから、私はもう写真を信じません.△Photoshopがなかった時代は、フィルム写真の年代が偽物だったことも少なくなかった.