junit 4チュートリアル

4849 ワード

前言
junitはJAVAユニットのテストに使用され、このチュートリアルは主にeclipseと組み合わせて使用されます.
プロジェクトの作成、junit依存の追加
一般的なJAVAプロジェクトをmavenで作成します.参考にしてください.http://blog.csdn.net/happyteafriends/article/details/7449642#t10
ここでは、次の構造のいくつかのクラスを作成します.
junit4简明教程_第1张图片
pom.xmlにjunit依存を追加
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

コードは次のとおりです.
package test.p1;

public class ClassA {

	public int methodA(int a,int b){
		return a + b;
	}
	
	public int methodB(int a,int b){
		return a - b;
	}
}
package test.p1;

public class ClassB {
	public String methodA(String a,String b){
		return a + b;
	}
	
	public String methodB(String a,String b){
		return methodA(a,b);
	}
}

ClassCとClassDはA Bと同じです.
junit caseの作成
次にClassAにjunit caseを作成します.
ClassAの上で右クリックして、new、junitを見つけます
次のステップ
finishをクリックし、ClassBのテストクラスを作成します.最後の構造は以下の通りです.
ClassATestのコードは次のとおりです.
public class ClassATest {

	private static ClassA classA;
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		classA = new ClassA();
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testMethodA() {
		int result = classA.methodA(1, 2);
		Assert.assertEquals(3, result);
	}

	@Test
	public void testMethodB() {
		int result = classA.methodB(2, 1);
		Assert.assertEquals(1, result);
	}

}
@Beforeのコードは@Testメソッドを実行するたびに実行されます.@Afterは、各@Testを実行した後に実行されます.
アサーションの使用
@Testでは断言をできるだけ使用する必要があります.junitは、すべての基本タイプとオブジェクト、配列を含むリロードされた断言方法を提供します.
例えば上の
Assert.assertEquals(3, result);

junitそして提供
assertThatはMatcherオブジェクトにマッチし、複雑な機能を実現するために使用されます.リファレンスhttps://github.com/junit-team/junit/wiki/Assertions
junitCaseの運転
eclipseで実行するのは簡単です.outlineでメソッドを選択し、右クリックしてrunas-->junit testでいいです.
junit4简明教程_第2张图片
テストクラス全体を実行する場合は、outlineでクラスを右クリックrun as-->junit testでテストし、メソッドの自然な順序でセルテストを順次行います.
test suiteを使用してtestを統合
test suiteを使用すると、複数のテストクラスを統合できます.たとえば、ここでClassAとClassBを統合するには、TestSuite 1を作成します.
コードは次のとおりです.
package test.p1;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ ClassATest.class, ClassBTest.class })
public class TestSuite1 {

}
TestSuite@RunWith(Suite.class)注記で表記すればよい.@SuiteClasses({ClassATest.class,ClassBTest.class})に含めるテストクラスを書き込みます.
run TestSuite 1はA Bの2つのテストクラスをテストすることができます.
eclipseを使用してTestSuite 1を作成する手順は、次のとおりです.
テストクラスがあるパッケージを選択し、右クリック-->new-->junit test suite
junit4简明教程_第3张图片
含まれるクラスを選択すると、デフォルトではこのパッケージの下にあるテストクラスが表示されます.
junit4简明教程_第4张图片
TestSuite 1を実行するとA Bをテストできます.
同様に、TestSuite 2を作成してC Dをテストします.
また、全体的なAllTestsを作成してTestSuite 1とTestSuite 2を統合することもできます.
コードは次のとおりです.
package test;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

import test.p1.TestSuite1;
import test.p2.TestSuite2;

@RunWith(Suite.class)
@SuiteClasses({TestSuite1.class,TestSuite2.class})
public class AllTests {

}
AllTestsを実行すると、すべてのコードを統合テストできます.
サンプルのダウンロード:https://github.com/wangz/junitdemo
参照先:
https://github.com/junit-team/junit/wiki