2015-10-25 17 views
5

imはクラスの下で模擬しようとしています。JAVA:java.lang.IllegalArgumentException:最終クラスクラスをサブクラス化できません。[Lcom.package.testEntityDO;

public class testEntityDO extends BasetestDO { 
    private String entityType; 
    private testCapabilityDO[] capabilities; 
    private testEntityDO[] testDOs; 
    public String getEntityType() { 
     return entityType; 
    } 
    public void setEntityType(String entityType) { 
     this.entityType = entityType; 
    } 
    public testCapabilityDO[] getCapabilities() { 
     return capabilities; 
    } 
    public void setCapabilities(testCapabilityDO[] capabilities) { 
     this.capabilities = capabilities; 
    } 
    public TestEntityDO[] getTestPortDOs() { 
     return testPortDOs; 
    } 
    public void setTestPortDOs(TestEntityDO[] testPortDOs) { 
     this.testPortDOs = testPortDOs; 
    } 
} 

コード嘲笑する:

TestEntityDO[] testEntityMock = testmethod.getTestEntityDO(); 

は、私が試したモック:

TestEntityDO[] testEntityDOMock = PowerMock.createMock(TestEntityDO[].class); // exception is generating at this point 
EasyMock.expect(testmethod.getTestEntityDO()).andReturn(testEntityDOMock); 

例外トレース:

java.lang.IllegalArgumentException: Cannot subclass final class class [Lcom.package.TestEntityDO; 
    at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:446) 
    at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) 
    at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216) 
    at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377) 
    at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317) 

クラスはfinalクラスではありません。それでも例外は最終クラスとして指摘されています。 この問題を解決するのを手伝ってください。

答えて

5

TestEntityDOの配列のサブクラス/モックを作成しようとしています。配列は最終的です。

+0

だから、模擬する正しい方法は何ですか。このシナリオでは? – Manjunath

+0

モックされたオブジェクトの配列。嘲笑されたオブジェクトの配列ではありません。 – Kayaman

+0

ok ..私は今変更する必要がありますか?働くために?その後Arrays.classを模倣する?助けてください – Manjunath

関連する問題