実行時 (Windows 7 コマンド ライン):
C:\rest-app\src\main\java\com\mycompany\app\Test>java org.testng.TestNG testng.xml
私は得る:
===============================================
Suite1 テストの合計実行: 0、失敗: 0、スキップ: 0
===============================================
これは、testng.xml ファイルが次のようになったときです。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="SandBoxTests" >
<packages>
<package name="com.mycompany.app.Test" />
</packages>
</test>
</suite>
そのパッケージのクラスには 3 つのテストがあります。
testng.xml ファイルを次のように変更すると:
<suite name="Suite1" verbose="1" >
<test name="SandBoxTests" >
<classes>
<class name="com.mycompany.app.Test.SandBoxTests">
<methods>
<include name="com.mycompany.app.Test.SandBoxTests.TestA"/>
</methods>
</class>
</classes>
</test>
</suite>
私は応答を取得します:
[TestNG] [エラー] クラスパスにクラスが見つかりません: com.mycompany.app.Test.SandBoxTests
私のクラスパスは次のようになります:
C:\rest-app\lib\ *;C:\rest-app\src\main\java\com\mycompany\app\Test\ *
最初のディレクトリは、testng を含む、含まれているすべての .jar ファイルを指し、最後のディレクトリには、テストを実行しようとしているクラス ファイルの場所が含まれています。私のtestng.xmlファイルもあります。
では、TestNG が私のパッケージを問題なく見つけているように見えるのに、私のクラスを認識できないのはどうしてでしょうか?
私のコードは次のとおりです。
package com.mycompany.app.Test;
import com.mycompany.app.RestMethods;
import com.mycompany.app.Test.TestObjects.AutoCompleteList;
import com.mycompany.app.Test.TestObjects.AutocompleteItem;
import com.mycompany.app.Test.TestObjects.Title;
import com.thoughtworks.xstream.XStream;
import org.apache.http.HttpResponse;
import org.testng.Reporter;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import static org.junit.Assert.assertTrue;
public class SandBoxTests
{ ...
@BeforeClass
public void SetupSandBoxTests() throws Exception
{
}
@Test
public void TestA() throws Exception
{
...
}
...
}
編集: クラスパスを更新して、TestNG テストを含むコンパイル済みソース ファイルの場所を含め、testng.xml ファイルを含むパスのルートも含めましたが、何も変更されていません。追加した:
C:\rest-app\out\production\Main\ *;C:\rest-app\out\production\Main\com\homeaway\app\Test\ *
EDIT 10/25: Maven はテストを正しくビルドおよび実行するようになりましたが、コマンド ラインから testng を実行することはまだできません。Maven でテストを実行するには、使用する必要がありました
<includes>
<include>**/*.java</include>
</includes>
それ以外の:
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>