2017-11-06 9 views
0

junitテストをいくつか実行しようとしていますが、常にエラーが発生しています。junitテストを実行しようとしたときにエラーが発生しました

pom.xmlは、次のMavenの依存関係があります。

<junit.version>4.12</junit.version> 
<junit.jupiter.version>5.0.1</junit.jupiter.version> 
<junit.vintage.version>${junit.version}.1</junit.vintage.version> 
<junit.platform.version>1.0.1</junit.platform.version> 

<!-- junit dependencies --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>${junit.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.junit.jupiter</groupId> 
     <artifactId>junit-jupiter-api</artifactId> 
     <version>${junit.jupiter.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- Only required to run tests in an IDE that bundles an older version --> 
    <dependency> 
     <groupId>org.junit.platform</groupId> 
     <artifactId>junit-platform-launcher</artifactId> 
     <version>${junit.platform.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- Only required to run tests in an IDE that bundles an older version --> 
    <dependency> 
     <groupId>org.junit.jupiter</groupId> 
     <artifactId>junit-jupiter-engine</artifactId> 
     <version>${junit.jupiter.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- Only required to run tests in an IDE that bundles an older version --> 
    <dependency> 
     <groupId>org.junit.vintage</groupId> 
     <artifactId>junit-vintage-engine</artifactId> 
     <version>${junit.vintage.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- To avoid compiler warnings about @API annotations in JUnit code --> 
    <dependency> 
     <groupId>org.apiguardian</groupId> 
     <artifactId>apiguardian-api</artifactId> 
     <version>1.0.0</version> 
     <scope>test</scope> 
    </dependency> 

私は実際に@BeforeAll@Before@Test注釈付きの三つの方法があります。これらのメソッドは、テストに合格するための印刷機能しか持っていません。私がいる

エラーは次のとおりです。

nov 06, 2017 10:36:17 AM org.junit.jupiter.engine.discovery.JavaElementsResolver resolveMethod 
    ADVERTENCIA: Method 'public void getTest() throws java.lang.Exception' could not be resolved. 
    10:36:18.048 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class com.tests] 
    10:36:18.052 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 
    10:36:18.058 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 
    10:36:18.064 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.tests] from class [org.springframework.test.context.support.DefaultTestContextBootstrapper] 
    10:36:18.086 [main] DEBUG org.springframework.test.context.support.AbstractDelegatingSmartContextLoader - Delegating to AnnotationConfigContextLoader to process context configuration [[email protected] declaringClass = 'com.tests', classes = '{class com.tests.TestConfig}', locations = '{}', inheritLocations = true, initializers = '{}', inheritInitializers = true, name = [null], contextLoaderClass = 'org.springframework.test.context.ContextLoader']. 
    10:36:18.101 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.tests] 
    10:36:18.102 [main] DEBUG org.springframework.test.context.support.DefaultTestContextBootstrapper - @TestExecutionListeners is not present for class [com.tests]: using defaults. 
    10:36:18.105 [main] INFO org.springframework.test.context.support.DefaultTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] 
    10:36:18.117 [main] INFO org.springframework.test.context.support.DefaultTestContextBootstrapper - Could not instantiate TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener]. Specify custom listener classes or make the default listener classes (and their required dependencies) available. Offending class: [javax/servlet/ServletContext] 
    10:36:18.117 [main] INFO org.springframework.test.context.support.DefaultTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test[email protected]27ff5d15, org.springframewor[email protected]4e096385, org.springfra[email protected]649bec2e, org.springframew[email protected]693fe6c9, org.springframework.test.context.jdbc.SqlScriptsTestExecuti[email protected]] 
    10:36:18.121 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.tests] 
    10:36:18.121 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.tests] 
    10:36:18.151 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.tests] 
    10:36:18.151 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.tests] 
    Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;)V 
     at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:59) 
     at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51) 
     at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237) 
     at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) 

私はのIntelliJ IDEA 2016年3月5日を使用しています。

私はそれについてグーグルではありましたが、私はどんな良い反応も見いだせませんでしたか?

+0

GitHubでサンプルプロジェクトを提供することができますか?何が問題なのか理解していますか? –

+0

エラーを再現するために、この[リポジトリ](https://github.com/MohaSaid/testJunit)を作成しました。 –

答えて

2

あなたが提供したリンクからプロジェクトをダウンロードしました。私はadd方法を変更するとpublicすべては私のためにうまく動作するように:

@Test 
public void add() { 
    Calculator calculator = new Calculator(); 
    assertEquals(2, calculator.add(1, 1), "1 + 1 should equal 2"); 
} 

私はIDEとMavenの両方のテストを実行しようとしました。 Mavenのからテストを実行するには、コマンドラインで次のコマンドを実行しようとすることができます:

mvn clean install 

このプロジェクトをビルドし、あなたのためのテストを実行します両方。

私のセットアップは次のとおりです。

  • Javaの版: "1.8.0_131"
  • Mavenのバージョン:3.3.9
  • のIntelliJアイデアバージョン(したい場合は有用である可能性がありますIDEからテストを実行するには):2017.2.5
+0

IntelliJアイデアのバージョンを2017.2.5にアップグレードすると、問題が修正されているようです。ありがとうございました! –

関連する問題