[英]Android Unit test - mock inner class method
類A具有創建類B的新實例並調用Android API功能的方法。
Class A{
public void foo(){
B b = new B();
//some code
b.callAndroidAPI()
//some code
}
}
我該如何對b類foo()方法進行單元測試。 有沒有辦法在調用foo()之前重寫/模擬callAndroidAPI()? 謝謝!
您可以將“新建”創建移動到另一個方法,然后使用模擬覆蓋該方法:
Class A {
B getB() {
return new B();
}
public void foo(){
B b = getB();
//some code
b.callAndroidAPI()
//some code
}
}
然后在測試中,您可以覆蓋getB調用。
@Test
public void testBFoo() {
A a = new A() {
B getB() {
return bMocked;
}
}
// verify interactions
}
另外,我最近也寫了這本書: http : //www.adavis.info/2015/11/testing-tricks-1-dealing-with-new.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.