我有第三方组件,我想嘲笑,但它返回类具有复杂的层次结构和一些接口具有静态字段初始化一些类不提供API。我不需要任何隐藏课程。模拟类与缺少的依赖关系
示例: 假设我们要模拟实现Combo的类MutableCombo。但是接口组合具有由Breaker初始化的字段。破坏程序是实现程序包的一部分,在编译和测试期间不能由开发人员访问。
public interface Combo{
String FUU = Breaker.getFoo();
String BAR = Breaker.getBar();
}
public class MutableCombo implements Combo;
我想测试我的课与MutableCombo工作,但不能嘲笑,因为
java.lang.NoClassDefFoundError: Breaker
at Combo.<clinit>(Combo.java:36)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
你是什么意思的'部分实施包'? – CAMOBAP 2013-02-28 08:26:40
我使用第三方组件。组件有2个部分 - API和实现包。作为开发人员,我只能使用组件的API部分。 – ainlolcat 2013-02-28 08:28:27