2017-12-31 52 views
1

私はjavaクラス用のテストケースを作成しています。私はpowermockフレームワークの初めてのユーザーです。私は以下のようにpom.xmlにすべての依存関係を追加しましたが、テストクラスで@PrepareForTestアノテーションを使用しようとしたときにインポートされず、powermock-core jarをチェックしても見つかりませんでした。 import org.powermock.core.classloader.annotations.PrepareForTest;PowerMockがPrepareForTestアノテーションを見つけられない

iは、Which Maven artifacts should I use to import PowerMock?に続いた。しかし、それは動作しませんでした。

<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
     <scope>test</scope> 
    </dependency>   
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-all</artifactId> 
     <version>1.10.19</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-api-support</artifactId> 
     <version>1.7.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-api-mockito2</artifactId> 
     <version>1.7.3</version> 
     <scope>test</scope> 
    </dependency>  
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-junit4</artifactId> 
     <version>1.7.3</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

java.lang.NoSuchMethodError: org.mockito.internal.handler.MockHandlerFactory.createMockHa‌ndler(Lorg/mockito/m‌​ock/MockCreationSett‌​ings;)Lorg/mockito/i‌​nternal/InternalMock‌​Handler; at org.powermock.api.mockito.internal.mockcreation.DefaultMockC‌reator.createMethodI‌​nvocationControl(Def‌​aultMockCreator.java‌​:114)

+0

java.lang.NoSuchMethodErrorの:org.mockito.internal.handler.MockHandlerFactory.createMockHandler(Lorg/mockito /モック/ MockCreationSettings;)Lorg/mockito /内部/ InternalMockHandler。 \t at org.powermock.api.mockito.internal.mockcreation.DefaultMockCreator.createMethodInvocationControl(DefaultMockCreator.java:114) – spa

答えて

0

私はあなたのコードを試してみましたが、それは私のための作品です。 アプリを作成しようとしましたか?

mvn clean install 

そして、あなたはテストでインポートを既存確認する必要があります:あなたの2番目のエラーのために

import org.powermock.core.classloader.annotations.PrepareForTest; 

は: あなたはJUnitを4.4以上にバージョンpowermock 1.7.1を使用する必要があります。

https://github.com/powermock/powermock/wiki/Mockito-2-Maven

 <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-api-support</artifactId> 
      <version>1.7.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-api-mockito2</artifactId> 
      <version>1.7.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.powermock</groupId> 
      <artifactId>powermock-module-junit4</artifactId> 
      <version>1.7.1</version> 
      <scope>test</scope> 
     </dependency> 
+0

はい、ローカルリポジトリから削除してプロジェクトを再構築した後に機能します。 – spa

+0

私は問題 – spa

+0

に直面しています。java.lang.NoSuchMethodError:org.mockito.internal.handler.MockHandlerFactory.createMockHandler(Lorg/mockito/mock/MockCreationSettings)Lorg/mockito/internal/InternalMockHandler; \t at org.powermock.api.mockito.internal.mockcreation.DefaultMockCreator.createMethodInvocationControl(DefaultMockCreator.java:114) – spa

関連する問題