2

easymock がバンドルされている powermock へのテスト依存関係を宣言しています。

<dependency>
  <groupId>org.powermock</groupId>
  <artifactId>powermock-easymock-release-full</artifactId>
  <version>1.4.12</version>
  <type>pom</type>
  <scope>test</scope>
</dependency>

を実行すると、上記の依存関係に含まれているにもかかわらず、mvn testテスト src は を見つけることができると主張しますが、見つけることはできません。org.powermockorg.easymock

テストスコープの推移性による問題なのかと思ったので、コンパイルスコープも試してみました(ドキュメントhttp://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.htmlには、テスト時にコンパイル依存関係が利用可能であると記載されているため)。

また、ポンの代わりにバンドルされたjarを使用しようとしましたが、役に立ちませんでした。依存関係を個別に宣言できることを認識しています (つまり、powermock と easymock の個別の依存関係) が、私の目的のために、必要なすべてのテスト ライブラリを含む 1 つの依存関係のみを持つように制限されています。

4

2 に答える 2

2

これをpowermock の親 pomまでさかのぼると、easymock の依存関係が「provided」とマークされていることがわかります。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <version>3.1</version>
      <scope>provided</scope>
    </dependency>

powermock は、そのクライアント (この場合はあなた) が easymock jar を提供することを期待しているようです。

于 2012-04-30T13:44:58.603 に答える
1

powermock-easymock-release-full POMによると、 easymockに依存していません (つまり、easymock はpowermock-easymock-release-full依存関係に表示されません)。そのため、使用しているテスト エンジン (JUnit または TestNG) に応じて、easymock に別の依存関係を追加する必要があります: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org。 powermock%22%20AND%20%22easymock%22

于 2012-04-30T10:56:47.260 に答える