A类有一个创建B类新实例并调用Android API功能的方法。
Class A{
public void foo(){
B b = new B();
//some code
b.callAndroidAPI()
//some code
}
}
如何对b类foo()方法进行单元测试。有没有办法在调用foo()之前覆盖/模拟callAndroidAPI()? 谢谢!
答案 0 :(得分:1)
您可以将“新”创建移动到另一个方法,然后使用mock重写该方法:
@Test
public void testBFoo() {
A a = new A() {
B getB() {
return bMocked;
}
}
// verify interactions
}
}
然后在测试中,您可以覆盖 getB 调用。
{{1}}
另外,我最近写了这篇文章:http://www.adavis.info/2015/11/testing-tricks-1-dealing-with-new.html