モックする必要がある最終クラスがあるため、PowerMock を使用しました。EasyMock スタイルの構文が読めないので、PowerMockito を使用しようとしています。
つまり、PowerMock ランナーを使用できませんが、ルールが整っているので、問題は解決しました。はい、Groovy モックを試してみましたが、Java の最終クラスを処理できません。
作業バージョンのスケッチは次のとおりです。
@PrepareForTest([Final.class])
class MapperTest extends Specification {
@Rule PowerMockRule rule = new PowerMockRule()
def testIt() {
given:
def fin = PowerMock.createMock(Final.class)
...
このバージョンは、Web 上の例から複製したもので、次のような効果があります。
@PrepareForTest([Final.class])
class MapperTest extends Specification {
@Rule PowerMockRule rule = new PowerMockRule()
def testIt() {
given:
def fin = PowerMockito.mock(Final.class)
...
実行時に次の例外が発生します。
java.lang.NoClassDefFoundError: org/mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mock(PowerMockito.java:143)
この上に私の髪を引き裂く。あなたが助けることができればありがとう!
更新: JUnitでこれを試しましたが、同じ問題です。