keeps the bar green to keep the code clean"-JUNITユニットテスト
まずクラスを新規作成します.
次にJUNITユニットテストを書いてadd(int x,int y)をテストします
方法はJUNITで単独でテストできます.
だいたいそうです.
ドキュメントは次のとおりです.
ユニットテストとは
package com.zzk.junit4;
public class T {
public int add (int x,int y) {
return x + y;
}
//
public static void main(String[] args) {
int z = new T().add(3, 5);
System.out.println(z);
}
}
次にJUNITユニットテストを書いてadd(int x,int y)をテストします
方法はJUNITで単独でテストできます.
package com.zzk.junit4.test;
import static org.junit.Assert.*;//
import org.junit.After;
import org.junit.Test;
import com.zzk.junit4.T;
public class TTest {
@After
public void tearDown() throws Exception {
}
@Test
public void testAdd() {
//fail("Not yet implemented");
int z = new T().add(5, 3);
assertEquals(8, z);// 8, z
}
}
だいたいそうです.
ドキュメントは次のとおりです.
ユニットテストとは
クラスを書いて、他の人に使うと、バグがありますか?どうしよう?テストしてみます.
mainメソッドでテストしてもいいですか?悪い!
1.一緒に運転できない!
2.多くの場合、人為的な観察出力が正しいかどうかを判断する必要がある
なぜユニットテストを行うのか
テストを再利用し、将来の実装の変化に対応します.
士気を高めて、私のものは大丈夫だとはっきり知っています.
JUnit4 HelloWorld
1. new project
2.クラスの作成
3.testcaseの作成
古い断言を放棄しhamcrest断言を用いる
1. assertThat
2.hamcrestを用いたマッチング方法
a)より自然
3.例
a) assertThat( n, allOf(greaterThan(1), lessThan(15) ) ); assertThat( n, anyOf( greaterThan(16), lessThan(8) ) ); assertThat( n, anything() ); assertThat( str, is( "bjsxt") ); assertThat( str, not( "bjxxt") );
b) assertThat( str,containsString( "bjsxt") ); assertThat( str, endsWith("bjsxt") ); assertThat( str, startsWith( "bjsxt") ); assertThat( n, equalTo( nExpected ) ); assertThat( str, equalToIgnoringCase( "bjsxt") ); assertThat( str, equalToIgnoringWhiteSpace( "bjsxt") );
c) assertThat( d, closeTo( 3.0, 0.3) ); assertThat( d, greaterThan(3.0) ); assertThat( d, lessThan (10.0) ); assertThat( d, greaterThanOrEqualTo (5.0) ); assertThat( d, lessThanOrEqualTo (16.0) );
d) assertThat( map, hasEntry("bjsxt", "bjsxt") ); assertThat( iterable, hasItem ( "bjsxt") ); assertThat( map, hasKey ( "bjsxt") ); assertThat( map, hasValue ( "bjsxt") );
FailureとError
1.Failureとはテストに失敗したことです
2.Errorとは、テストプログラム自体のエラーです
JUnit4 Annotation
1.@Test:試験方法
a) (expected=XXException.class)
b) (timeout=xxx)
2.@Ignore:無視されたテスト方法
3.@Before:各テストメソッドの前に実行
4.@After:各テストメソッドの後に実行
5.@BeforeClass:すべてのテストが開始される前に実行
6.@AfterClass:すべてのテストが終了したら実行
複数のテストの実行
に注意
1.約束を守る.例えば:
a)クラスをtestパッケージに入れる
b)クラス名はXXXTestで終わる
c)メソッドはtestMethodで命名する
その他のフレームワーク
TestNG
テストを再利用し、将来の実装の変化に対応します.
士気を高めて、私のものは大丈夫だとはっきり知っています.
JUnit4 HelloWorld
1. new project
2.クラスの作成
3.testcaseの作成
古い断言を放棄しhamcrest断言を用いる
1. assertThat
2.hamcrestを用いたマッチング方法
a)より自然
3.例
a) assertThat( n, allOf(greaterThan(1), lessThan(15) ) ); assertThat( n, anyOf( greaterThan(16), lessThan(8) ) ); assertThat( n, anything() ); assertThat( str, is( "bjsxt") ); assertThat( str, not( "bjxxt") );
b) assertThat( str,containsString( "bjsxt") ); assertThat( str, endsWith("bjsxt") ); assertThat( str, startsWith( "bjsxt") ); assertThat( n, equalTo( nExpected ) ); assertThat( str, equalToIgnoringCase( "bjsxt") ); assertThat( str, equalToIgnoringWhiteSpace( "bjsxt") );
c) assertThat( d, closeTo( 3.0, 0.3) ); assertThat( d, greaterThan(3.0) ); assertThat( d, lessThan (10.0) ); assertThat( d, greaterThanOrEqualTo (5.0) ); assertThat( d, lessThanOrEqualTo (16.0) );
d) assertThat( map, hasEntry("bjsxt", "bjsxt") ); assertThat( iterable, hasItem ( "bjsxt") ); assertThat( map, hasKey ( "bjsxt") ); assertThat( map, hasValue ( "bjsxt") );
FailureとError
1.Failureとはテストに失敗したことです
2.Errorとは、テストプログラム自体のエラーです
JUnit4 Annotation
1.@Test:試験方法
a) (expected=XXException.class)
b) (timeout=xxx)
2.@Ignore:無視されたテスト方法
3.@Before:各テストメソッドの前に実行
4.@After:各テストメソッドの後に実行
5.@BeforeClass:すべてのテストが開始される前に実行
6.@AfterClass:すべてのテストが終了したら実行
複数のテストの実行
に注意
1.約束を守る.例えば:
a)クラスをtestパッケージに入れる
b)クラス名はXXXTestで終わる
c)メソッドはtestMethodで命名する
その他のフレームワーク
TestNG
1. assertThat
2.hamcrestを用いたマッチング方法
a)より自然
3.例
a) assertThat( n, allOf(greaterThan(1), lessThan(15) ) ); assertThat( n, anyOf( greaterThan(16), lessThan(8) ) ); assertThat( n, anything() ); assertThat( str, is( "bjsxt") ); assertThat( str, not( "bjxxt") );
b) assertThat( str,containsString( "bjsxt") ); assertThat( str, endsWith("bjsxt") ); assertThat( str, startsWith( "bjsxt") ); assertThat( n, equalTo( nExpected ) ); assertThat( str, equalToIgnoringCase( "bjsxt") ); assertThat( str, equalToIgnoringWhiteSpace( "bjsxt") );
c) assertThat( d, closeTo( 3.0, 0.3) ); assertThat( d, greaterThan(3.0) ); assertThat( d, lessThan (10.0) ); assertThat( d, greaterThanOrEqualTo (5.0) ); assertThat( d, lessThanOrEqualTo (16.0) );
d) assertThat( map, hasEntry("bjsxt", "bjsxt") ); assertThat( iterable, hasItem ( "bjsxt") ); assertThat( map, hasKey ( "bjsxt") ); assertThat( map, hasValue ( "bjsxt") );
FailureとError
1.Failureとはテストに失敗したことです
2.Errorとは、テストプログラム自体のエラーです
JUnit4 Annotation
1.@Test:試験方法
a) (expected=XXException.class)
b) (timeout=xxx)
2.@Ignore:無視されたテスト方法
3.@Before:各テストメソッドの前に実行
4.@After:各テストメソッドの後に実行
5.@BeforeClass:すべてのテストが開始される前に実行
6.@AfterClass:すべてのテストが終了したら実行
複数のテストの実行
に注意
1.約束を守る.例えば:
a)クラスをtestパッケージに入れる
b)クラス名はXXXTestで終わる
c)メソッドはtestMethodで命名する
その他のフレームワーク
TestNG
1.@Test:試験方法
a) (expected=XXException.class)
b) (timeout=xxx)
2.@Ignore:無視されたテスト方法
3.@Before:各テストメソッドの前に実行
4.@After:各テストメソッドの後に実行
5.@BeforeClass:すべてのテストが開始される前に実行
6.@AfterClass:すべてのテストが終了したら実行
複数のテストの実行
に注意
1.約束を守る.例えば:
a)クラスをtestパッケージに入れる
b)クラス名はXXXTestで終わる
c)メソッドはtestMethodで命名する
その他のフレームワーク
TestNG
1.約束を守る.例えば:
a)クラスをtestパッケージに入れる
b)クラス名はXXXTestで終わる
c)メソッドはtestMethodで命名する