Testng-run-junit-tests

提供:Dev Guides
移動先:案内検索

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
===============================================