ユニットテストのデータをモックするには、私はMockitoを使用しています。しかし、私は以下の例外を見る。私はセットアップがありませんか?Mockito&PowerMock - クラスのサイズ制限
ここで使用されるJVMはJava HotSpot(TM)64ビットサーバーVMです。 1.8
public class TestCreateObj{
public void getMockData() {
TestObj deal = mock(TestObj.class);
when(deal.getDescription()).thenReturn("HURRAH!!!");
System.out.println(deal.getDescription());
}
public static void main(String args[]) {
new TestCreateObj().getMockData();
}
この例外は、実行時にスローされます。
Caused by: java.lang.RuntimeException: Class file too large!
at net.bytebuddy.jar.asm.ClassWriter.toByteArray(Unknown Source)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForCreation.create(TypeWriter.java:4108)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:1612)
at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.make(SubclassDynamicTypeBuilder.java:174)
at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.make(SubclassDynamicTypeBuilder.java:155)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:2560)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$Delegator.make(DynamicType.java:2662)
at org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator.mockClass(SubclassBytecodeGenerator.java:94)
at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:37)
at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator$1.call(TypeCachingBytecodeGenerator.java:34)
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:138)
at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:346)
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:161)
at net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:355)
at org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:32)
at org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.createMockType(SubclassByteBuddyMockMaker.java:71)
at org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker.createMock(SubclassByteBuddyMockMaker.java:42)
at org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker.createMock(ByteBuddyMockMaker.java:26)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:35)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:65)
at org.mockito.Mockito.mock(Mockito.java:1691)
at org.mockito.Mockito.mock(Mockito.java:1604)
テストメソッドのコードを追加してください。 –
コードが追加されました。関数呼び出し "mock"はこの例外をスローします。 – user127377
あなたの 'TestObj'クラスはすでに巨大であるか、あるいはそれに多くの機器が入っているかのようです。すべての計測の結果、コンパイルされたコードサイズは、エラーを生成する特定のポイントをオーバーフローします。詳細については、[there](http://www.javaworld.com/article/2073208/reproducing--code-too-large--problem-in-java.html)を参照してください。 –