我是junit的新手,所以感谢任何帮助。
我有一个名为sysconfig.java的类,我写了一个 称为TestSysconfig.java的junit类文件,用于测试sysconfig.java中的某些方法。 我在sysconfig.java中测试的方法调用另一个类文件“ethipmapping.java” 我已经创建了一个这个类文件的模拟器作为Testethipmapping.java。 所以我的问题是如何告诉sysconfig.java调用这个模拟对象?
答案 0 :(得分:3)
而不是将“new”运算符与您正在测试的类混合,您需要将ethipmapping的测试实例传递给您正在测试的sysconfig类,无论是在构造函数中还是通过setter。所以,你正在测试的课程看起来像是:
private EthipMapping mapping;
public Sysconfig(EthipMapping mapping) {
this.mapping = mapping;
}
public String someMethodIWantToTest() {
return mapping.doSomeStuffThatReturnsAString();
}
像这样的问题是为什么像spring和google guice这样的依赖注入框架如此受欢迎,尽管对于像上面这样的简单情况你不需要它们。
答案 1 :(得分:1)
您可能对Mockito感兴趣。
答案 2 :(得分:0)
所以我的问题是如何告诉sysconfig.java调用这个模拟对象?
通过调用它。无论你在何处创建'ethipmapping'对象(new ethipmapping()),你都必须创建Testethipmapping。
还有其他选项不涉及sysconfig.java中的更改,但是如果不看代码就很难给出具体的建议。