JUnitのポイントまとめ
3985 ワード
JUnitの知識ポイント:
注釈によってテストを実現します.
1. before
2. test
3. after
4. ignore
5. beforeClass
6. afterClass
7.runwith:実行するモード選択.デフォルトモードと他のモードがあります.パラメータテストを含める
8.パッケージテスト(1.runwith、2.実行するクラスの構成)
---------------------------------------------------------------
いくつかのテスターの説明:
1.デフォルトランナ:TestClassRunner
2.パラメータテストParameterized@Parametes注視によりパラメータを構築します.staticメソッドで構築され、集合を返します.
@Parameters
3.パッケージテストSuite.class注視:
@RunWith(Suite.class)
4.バージョン不和の解決策:-------------------------------------選択了解()
AntとJUnit 4
現在、AntとJUnitは完璧な組み合わせとなって久しく、多くの開発者はこの関係がJUnit 4を導入した後、よりよくなるだけだと予想している.しかし、結果として、一定の問題がある.Ant 1.7以前のバージョンを実行している場合は、既存のJUnit 4テストを簡単に実行できません.それは、これらのテストを実行できないわけではありません.すぐに実行できないだけです.
ふさわしくないカップル
Ant(1.7以前のバージョン)でJUnit 4テスト(リスト14)を実行すると、いくつかの興味深い結果が得られます.
リスト14.簡単なJUnit 4テストクラス
複数の失敗
Antで脆弱な
リスト15.たくさんの間違い.
対応するソリューション
Ant 1.7以前のバージョンでJUnit 4テストを実行するには、リスト16に示すように、
リスト16.古い方法の新しい使い方
注釈によってテストを実現します.
1. before
2. test
3. after
4. ignore
5. beforeClass
6. afterClass
7.runwith:実行するモード選択.デフォルトモードと他のモードがあります.パラメータテストを含める
8.パッケージテスト(1.runwith、2.実行するクラスの構成)
---------------------------------------------------------------
いくつかのテスターの説明:
1.デフォルトランナ:TestClassRunner
2.パラメータテストParameterized@Parametes注視によりパラメータを構築します.staticメソッドで構築され、集合を返します.
@Parameters
public static Collection regExValues() {
return Arrays.asList(new Object[][] {
{"22101", true },
{"221x1", false },
{"22101-5150", true },
{"221015150", false }});
}
3.パッケージテストSuite.class注視:
@RunWith(Suite.class)
@SuiteClasses({ParametricRegularExpressionTest.class,
RegularExpressionTest.class,
TimedRegularExpressionTest.class})
public class JUnit4Suite {
}
4.バージョン不和の解決策:-------------------------------------選択了解()
AntとJUnit 4
現在、AntとJUnitは完璧な組み合わせとなって久しく、多くの開発者はこの関係がJUnit 4を導入した後、よりよくなるだけだと予想している.しかし、結果として、一定の問題がある.Ant 1.7以前のバージョンを実行している場合は、既存のJUnit 4テストを簡単に実行できません.それは、これらのテストを実行できないわけではありません.すぐに実行できないだけです.
ふさわしくないカップル
Ant(1.7以前のバージョン)でJUnit 4テスト(リスト14)を実行すると、いくつかの興味深い結果が得られます.
リスト14.簡単なJUnit 4テストクラス
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
public class RegularExpressionTest {
private static String zipRegEx = "^\\d{5}([\\-]\\d{4})?$";
private static Pattern pattern;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
pattern = Pattern.compile(zipRegEx);
}
@Test
public void verifyGoodZipCode() throws Exception{
Matcher mtcher = this.pattern.matcher("22101");
boolean isValid = mtcher.matches();
assertTrue("Pattern did not validate zip code", isValid);
}
}
複数の失敗
Antで脆弱な
junit
タスクを使用すると、リスト15のエラーが発生します.リスト15.たくさんの間違い.
[junit] Running test.com.acme.RegularExpressionTest
[junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.047 sec
[junit] Testsuite: test.com.acme.RegularExpressionTest
[junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.047 sec
[junit] Testcase: warning took 0.016 sec
[junit] FAILED
[junit] No tests found in test.com.acme.RegularExpressionTest
[junit] junit.framework.AssertionFailedError: No tests found in
test.com.acme.RegularExpressionTest
[junit] Test test.com.acme.RegularExpressionTest FAILED
対応するソリューション
Ant 1.7以前のバージョンでJUnit 4テストを実行するには、リスト16に示すように、
suite()
のインスタンスを返すJUnit4TestAdapter
メソッドを使用してテスト・インスタンスを再構築する必要があります.リスト16.古い方法の新しい使い方
public static junit.framework.Test suite(){
return new JUnit4TestAdapter(RegularExpressionTest.class);
}
@Test
注記の名前と似ているため、このインスタンスのTest
の戻りタイプ名を完全にする必要があります.suite()
メソッドの準備が完了すると、どのバージョンのAntでもJUnit 4テストを快適に実行できます.