2017-12-08 660 views
0

JUnitテストを実行すると、initializationErrorが発生しました。一致するテストが見つかりませんでした。このように:テストコードは以下の通りですがJUnitテストでjava.lang.ExceptionのinitializationErrorが発生しました:一致するテストが見つかりません

prodapi-main-junit 
initializationError(org.junit.runner.manipulation.Filter) 
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testCreateSite], {ExactMatcher:fDisplayName=testCreateSite(com.company.product.api.web.rest.HostControllerTest)], {LeadingIdentifierMatcher:fClassName=com.company.product.api.web.rest.HostControllerTest,fLeadingIdentifier=testCreateSite]] from [email protected] 
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = ProductApplication.class) 
@WebAppConfiguration 
public class HostControllerTest{ 
    @Test 
    public void testCreateSite() throws Exception { 
    ...... 
} 
} 

よく実行し、クラスをロードするために問題ないはずです。このモジュールに似たモジュールがあります。実行するには問題ありません。

私は、考えられる原因を確認しています

  1. 誰かが、このエラーに「テスト」注釈結果を欠落していると述べました。 あなたが見ることができるように、コードにはアノテーションがありました。
  2. ビルドパスは、テストソースフォルダの下でビルドを行い、テストクラスを取得し、エクスポートするように構成する必要があります。 そして私がダブルチェックした構成も同様に働いていました。
  3. コンパイル時にテストクラスが生成されない場合がありますが、ターゲットクラスの下にテストクラスが表示されることがあります。

私はこのようなJunitテストエラーを得ることができる他の可能性のあるものがあるかわからない。多分私はクラスローダーをチェックする必要がありますか?

+0

に変更

@Test public void testSetDBConfiguration(String name) throws Exception { 

はあなたが輸入を確認しましたか? 'JUnit'の代わりにtestngから' @ Test'を混ぜたのでしょうか?あなたのコメントのために@ mrkernelpanicありがとう。 – mrkernelpanic

+0

私はあなたが何を意味するか分かりません。しかし、私は別の新しい追加されたテスト機能が冗長なパラメータを持っているため、テストクラスの検証が失敗するという原因を発見しました。 – Ron

+0

ok :)私はあなたのJavaのインポートを意味しました。 – mrkernelpanic

答えて

0

グーグルではいくつかの回答があります。 https://github.com/junit-team/junit4/issues/1277(FilterRequestがテストの実際の失敗原因(例外)を隠している可能性があります) これは私が試した手順です:
1.テスト機能だけを選択しないでくださいテストタブの「選択したプロジェクトですべてのテストを実行する」オプションを選択して、Run->「Run(Debug)Configuration」をクリックした後にJunitプロジェクト名 を選択した場合
2.エラーは次のように

initializationError(com.company.product.api.web.rest.HostControllerTest) 
java.lang.Exception: Method testSetDBConfiguration should have no parameters 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:76) 
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155) 

上記日食によって与えられた詳細に3.according、私は、initializedErrorだけdisappその関数の引数を削除しました耳にする。

新たに追加されたテスト機能のためにこの問題が発生するので、不要な入力引数があります。 不正なコード:

@Test 
public void testSetDBConfiguration() throws Exception { 
関連する問題