2014-01-18 25 views
1

我有最后一类,并构造为...如何使用EasyMock的嘲笑最后一类在Java中 - JUnit测试

我有问题要嘲笑这个类。我开始知道我无法使用EasyMock进行最终课程。但在我的项目中,我只能使用easymock。有没有办法嘲笑这个课程?你能请任何人帮助我吗?

//A a = createMock(A.class);//IllegalException occuring while running this test case 


For example : 

final class A { 

private int a; 
    A(int a){ 
this.a = a; 
} 

} 
+0

你可以提取它的界面,然后使用接口无处不在,然后嘲笑新界面。 – Katona

+0

为什么课程最终放在首位? –

+0

它的客户端代码最终class.So我不能change.Due到我奋力 – shree

回答

6

用纯EasyMock模拟最后一堂课是不可能的。你必须添加类似PowerMock,这与EasyMock很好地集成在一起。或者你写一个不需要嘲笑最终课程的测试。

1

我能想到的是,如果你最终的类实现任何接口(考虑到接口包括您需要在测试中使用的方法),你总是可以创建一个实现另一个类的实例最好是相同的接口和使用这个作为模拟或使用dynamic proxies

的问题是,有时找到解决方法的需求将会成倍成倍做一些事情的时候,你已经知道,像PowerMock工具是在那里工作需要。

+0

“你总是可以创建一个实现了相同的接口,并以此作为模拟另一个类的实例” - 如果你有接口,那么为什么不是模拟界面?这才是重点。如果你只是想使用模拟,不需要创建存根实现。 –