Testng-run-junit-tests
TestNG-JUnitテストの実行
TestNGとそのさまざまなテストを理解したので、既存のJUnitコードをリファクタリングする方法について心配する必要があります。 TestNGはJUnitからTestNGに自分のペースで移行する方法を提供するため、心配する必要はありません。 TestNGを使用して、既存のJUnitテストケースを実行できます。
TestNGはJUnitテストを自動的に認識して実行できるため、TestNGを既存のすべてのテストのランナーとして使用し、TestNGを使用して新しいテストを作成できます。 必要なことは、JUnitライブラリをTestNGクラスパスに配置することです。そうすると、JUnitクラスを見つけて使用し、テストランナーをAntでJUnitからTestNGに変更し、Testmixを「混合」モードで実行できます。 これにより、同じパッケージ内であっても、すべてのテストを同じプロジェクトに入れて、TestNGの使用を開始できます。 このアプローチにより、既存のJUnitテストを段階的にTestNGに変換することもできます。
TestNGのこの驚くべき能力を実証する例を挙げましょう。
JUnitテストケースクラスの作成
*C:\> TestNG_WORKSPACE* にJUnitテストクラスTestJunit.javaであるJavaクラスを作成します。
import org.junit.Test;
import static org.testng.AssertJUnit.assertEquals;
public class TestJunit {
@Test
public void testAdd() {
String str = "Junit testing using TestNG";
AssertEquals("Junit testing using TestNG",str);
}
}
さて、testng.xmlを C:\> TestNG_WORKSPACE に書きましょう。これには、次のように<suite>タグが含まれます-
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name = "Converted JUnit suite" >
<test name = "JUnitTests" junit="true">
<classes>
<class name = "TestJunit"/>
</classes>
</test>
</suite>
JUnitテストケースを実行するには、上記のxmlのようにプロパティ_junit = "true" _を定義します。 JUnitテストケースクラスTestJunitは、クラス名で定義されます。
JUnit 4の場合、TestNGは_org.junit.runner.JUnitCore_ランナーを使用してテストを実行します。
javacを使用してすべてのJavaクラスをコンパイルします。
C:\TestNG_WORKSPACE>javac TestJunit.java
次に、testng.xmlを実行します。これにより、JUnitテストケースがTestNGとして実行されます。
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE:C:\TestNG_WORKSPACE\lib\junit-4.11.jar" org.testng.TestNG testng.xml
ここでは、junit-4.11.jarをC:\ TestNG_WORKSPACE \ lib \ junit-4.11.jarの下に配置しました。
出力を確認します。
===============================================
Converted JUnit suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================