2016-07-07 13 views
0

TestNGがテストクラスを探しているとき、TestNGはどのように機能しますか?TestNGはどのようにテストクラスを探しますか?

GUIを作成するためにJavaFXを使用してTestNGプロジェクトとは別のプロジェクトを作成しました。GUIを実行するとXMLファイルを選択できるようになり、testNG XMLへのパスが変数に保存されます。

私は次のコードを実行すると:

String xmlFileName = selectedFile.getAbsolutePath(); 

TestNG testng = new TestNG(); 
List<String> testFilesList = new ArrayList<String>(); 

testFilesList.add(xmlFileName); //test suite resides in the working directory's root folder 
testng.setTestSuites(testFilesList); //you can addd multiple suites either here by adding multiple files or include all suites needed in the testng.xml file 
testng.setUseDefaultListeners(false); 
testng.addListener(htmlRep); 
testng.run(); 

を、私はそれがXML内部の私のテストクラスを見つけることができないというエラーを取得します。

[TestNGの] [ERROR]

がクラスパスにクラスを見つけることができません:com.emc.qe.u360.tests.LogoutTests

私はその後、私のTestNGの内のJavaクラスを作ることにしましたプロジェクトを作成し、コードをコピーしても、同じエラーメッセージが表示されます。

上記のコードを実行したときにTestNGがテストクラスを探しているのはどこですか?

上記のコードは、eclipse自体から手動でXMLを実行するのとどのような違いがありますか? XMLを実行するコードが壊れているか動作していないとわかるように、コードは動作しているようですが、何が指定されているかを判断できないため、エラーが出ることはありませんXML。

ご協力いただきありがとうございます、ありがとうございます。

編集:私はGUIを使って何をしようとしているのJenkinsを使用して背景情報については、プロジェクト/フレームワーク以外のテストを実行するための代替ソリューションを作成することです。普遍的に使用される場合、ユーザーはXMLを選択するだけでテストが実行されます。

+0

私は同様のことをやろうとしています。私がSpring-Web-Appのテストランナーに複数のTestNGテストクラスを渡すと、そのうちの1つでも正規のクラス名がないと、スイート全体がTestNGExceptionでクラッシュし、クラスごとに問題を捕捉します。続けてください。私はスイートをアセンブルする前にクラス名をチェックし、例外を先にキャッチする必要があると思います。 – djangofan

+0

ちょっと@ジャンゴファン。私は私の開発の非常に初期段階にあるので、私はあなたの質問に答えなければならないとは思わない。プライベートチャットを開始して議論やプロジェクトを始めたいのであれば、私がやったことがあなたを助けたり恩恵を受けるかもしれませんか? – colin

+0

そのok。私は助けが必要ない。あなたのFXテストランナーと同様の問題に遭遇するかもしれないように聞こえたので私はそれを言いました。 – djangofan

答えて

0

Maven SurefireまたはGradle TestNGランナーを使用している場合は設定できますが、デフォルトではTestNGはクラス名がsrc/test/javaです。さらに、コードから実行しているTestNGをスタンドアロンで実行すると、クラスを探すパスベースを調整できる可能性があります。

関連する問題