2013-09-05 13 views
12

PowerMockをMockitoで使用するには、どのようなjarをpom.xmlに追加する必要がありますか?PowerMockをインポートするのにどのMavenアーティファクトを使用する必要がありますか?

<dependency> 
    <groupId>org.mockito</groupId> 
    <artifactId>mockito-all</artifactId> 
    <version>1.9.0</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.powermock</groupId> 
    <artifactId>powermock-api-mockito</artifactId> 
    <version>1.4.11</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.powermock</groupId> 
    <artifactId>powermock-api-support</artifactId> 
    <version>1.4.11</version> 
    <scope>test</scope> 
</dependency> 

を私はクラスレベルで@PrepareForTest注釈を追加するときに、Eclipseはそれを見つけることはできませんが、それはPowerMockitoを見つけることができます:私は、次の依存関係を持っています。どんな瓶がないの? PowerMockのwiki上Mockito_Mavenページによる

答えて

19

、この使用:

<properties> 
    <powermock.version>1.6.6</powermock.version> 
</properties> 
<dependencies> 
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-junit4</artifactId> 
     <version>${powermock.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-api-mockito</artifactId> 
     <version>${powermock.version}</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

powermock-api-supportあなたはまだpowermock-module-junit4で提供するコアライブラリを必要とする "utility classes only"、のようです。あなたが足すさ

+1

私はクラスパスにpowermockモジュール-juint4 jarを追加しましたが、同じ問題が残っています:>>>この行に複数のマーカーがあります \t - 構文エラー、「enum Identifier」を挿入してを完了してください\t EnumHeaderName \t - 構文エラー、EnumDeclaration \tを完了するために、「EnumBody」を挿入 - PrepareForTestはタイプ \tに解決することはできません - 属性値は \t PrepareForTest – user86834

+0

ジェフの答えが正しい注釈型のために定義されていません。あなたは例外をスローする特定のコードを投稿できますか? –

+1

他の依存関係は必要ないと確信していますか?例外をスローするコードはありません。私のテストクラスに '@ PrepareForTest'を追加すると、Eclipseは' @ PrepareForTest'を見つけることができないと訴えます。私は 'powermock-module-junit4'と' powermock-api-mockito'のソースを見て、 '@ PrepareForTest'アノテーションを見ることはできません。 jarファイルにバージョン1.4.11の@PrepareForTestが入っていますか? – user86834

1

@PrepareForTest(Class.class); 

の代わりに:

@PrepareForTest(Class.class) 

を私は正確に同じ問題を持っていたし、そのように解決しました。

+0

良いIDEが、この構文の間違いのためにあなたに怒鳴ります。 (;)あなたはセミコロンを追加した場合、Eclipseは文句を言い、アノテーションの後に 'この行 \tで複数のマーカー - EnumDeclaration' を完了するために、「EnumBody」を挿入し、構文エラー - 構文エラーは、EnumHeaderNameを完了するために、「列挙型識別子」 \tを挿入します@ l3k – javaPlease42

3

あなたはこのインポートを持っていることを確認してください:

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

このjarファイルは、それを持っている:

関連する問題