1

PowerMock/EasyMock を機能させようとしています。PowerMock 1.5 を使用しています。

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

これが私のコードです:

    String text = PowerMock.createMock(String.class);

以上です。プログラムを実行すると、次のようになります。java.lang.IllegalArgumentException: java.lang.String is not an interface

私はやってみました:

    String text = EasyMock.createMock(String.class);

そして、PowerMock の RunWith アノテーションを使用しますが、どのクラスを試しても、常にこの例外が発生します。私は何を間違っていますか?

4

3 に答える 3

4

このバージョンの EasyMock で問題なく動作します。

<dependency>
  <groupId>org.easymock</groupId>
  <artifactId>easymock</artifactId>
  <version>3.1</version>
</dependency>

また、システム クラスをモックする方法も確認する必要があります。

http://code.google.com/p/powermock/source/browse/trunk/modules/module-test/mockito/junit4/src/test/java/samples/powermockito/junit4/system/SystemClassUserTest.java?spec= svn1714&r=1714

于 2013-02-14T20:22:54.277 に答える
0

私が尋ねるとすぐに....easymockの間違ったバージョンを使用しています。バージョン3.0にアップグレードする必要があります

また、Stringは最終クラスであるため、stringでは機能しません...

于 2013-02-14T20:16:36.357 に答える
0

バージョン 3.0 未満の EasyMock では、このエラーがスローされます。EasyMock のバージョンをアップグレードしてください。

于 2013-12-02T16:37:03.647 に答える