2016-07-21 10 views
1

テストクラス(junitテスト)から反映されたjarファイルがあります。ダイナミックに作成されたテストスイートでエラーが収集されない

私はTestSuiteインスタンスを作成し、それにテストを追加しました。

私のコードをチェックするために、テストスイートにテストクラスを1つだけ追加しようとしました。

TestSuite suite = new TestSuite(); 
suite.addTest(new JUnit4TestAdapter(ExampleTest.class)); 

その後、私は、テストを実行するために)(suite.runと呼ばれる:

TestResult result = new TestResult(); 
suite.run(result); 

問題はテストが行​​われたときに、その結​​果であるべき故障リストが空であるということです。

Enumeration<TestFailure> failures = result.failures(); // = empty list 

testSuiteを使用してどのように障害を取り込むことができますか? JUnitCore.runclassesを使用する場合は、失敗リストを取得しますが、テストクラスを入力として取得する必要があるTestSuiteのインスタンスでは使用できません。

編集-1:

それはテストスイートを拡張するクラスを作成し、動的スイートにクラスを追加することが可能であるならば、それはへの私のニーズのために良いだろう。
どのような提案も素晴らしいでしょう。

編集-2:

ウェブでより多くの検索から、私は私たちにそこfailuretestFailureの違いを見ました。 testFailureでテストを失敗させるにはどうすればよいですか?

答えて

0

もう少しデバッグした後、TestResultオブジェクトがエラーをキャッチしたが、エラー(アサーションエラー)として報告されたことがわかりました。
また、TestResult.errors()がTestFailureの列挙子を返したことがわかりました。各TestFailureにはスローされた例外に関する情報が含まれているので、どのエラーがアサーションエラーで、どのエラーがアサーションエラーではないかをチェックすることで、エラーと失敗を区別できます。

関連する問題