junit 4チュートリアル
4849 ワード
前言
junitはJAVAユニットのテストに使用され、このチュートリアルは主にeclipseと組み合わせて使用されます.
プロジェクトの作成、junit依存の追加
一般的なJAVAプロジェクトをmavenで作成します.参考にしてください.http://blog.csdn.net/happyteafriends/article/details/7449642#t10
ここでは、次の構造のいくつかのクラスを作成します.
pom.xmlにjunit依存を追加
コードは次のとおりです.
ClassCとClassDはA Bと同じです.
junit caseの作成
次にClassAにjunit caseを作成します.
ClassAの上で右クリックして、new、junitを見つけます
次のステップ
finishをクリックし、ClassBのテストクラスを作成します.最後の構造は以下の通りです.
ClassATestのコードは次のとおりです.
アサーションの使用
@Testでは断言をできるだけ使用する必要があります.junitは、すべての基本タイプとオブジェクト、配列を含むリロードされた断言方法を提供します.
例えば上の
junitそして提供
assertThatはMatcherオブジェクトにマッチし、複雑な機能を実現するために使用されます.リファレンスhttps://github.com/junit-team/junit/wiki/Assertions
junitCaseの運転
eclipseで実行するのは簡単です.outlineでメソッドを選択し、右クリックしてrunas-->junit testでいいです.
テストクラス全体を実行する場合は、outlineでクラスを右クリックrun as-->junit testでテストし、メソッドの自然な順序でセルテストを順次行います.
test suiteを使用してtestを統合
test suiteを使用すると、複数のテストクラスを統合できます.たとえば、ここでClassAとClassBを統合するには、TestSuite 1を作成します.
コードは次のとおりです.
run TestSuite 1はA Bの2つのテストクラスをテストすることができます.
eclipseを使用してTestSuite 1を作成する手順は、次のとおりです.
テストクラスがあるパッケージを選択し、右クリック-->new-->junit test suite
含まれるクラスを選択すると、デフォルトではこのパッケージの下にあるテストクラスが表示されます.
TestSuite 1を実行するとA Bをテストできます.
同様に、TestSuite 2を作成してC Dをテストします.
また、全体的なAllTestsを作成してTestSuite 1とTestSuite 2を統合することもできます.
コードは次のとおりです.
サンプルのダウンロード:https://github.com/wangz/junitdemo
参照先:
https://github.com/junit-team/junit/wiki
junitはJAVAユニットのテストに使用され、このチュートリアルは主にeclipseと組み合わせて使用されます.
プロジェクトの作成、junit依存の追加
一般的なJAVAプロジェクトをmavenで作成します.参考にしてください.http://blog.csdn.net/happyteafriends/article/details/7449642#t10
ここでは、次の構造のいくつかのクラスを作成します.
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でいいです.
テストクラス全体を実行する場合は、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
含まれるクラスを選択すると、デフォルトではこのパッケージの下にあるテストクラスが表示されます.
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