在Android中使用Mokito覆盖/自定义函数的行为,可以通过以下步骤实现:
dependencies {
testImplementation 'org.mockito:mockito-core:3.12.4'
}
import static org.mockito.Mockito.*;
MyClass
的类,其中有一个待覆盖行为的函数myFunction()
:public class MyClass {
public String myFunction() {
return "Original behavior";
}
}
MyClass
的实例,并使用when().thenReturn()
方法来覆盖/自定义函数的行为。例如,覆盖myFunction()
函数的行为,使其返回自定义的字符串:@Test
public void testMyFunction() {
MyClass myClass = mock(MyClass.class);
when(myClass.myFunction()).thenReturn("Custom behavior");
// 调用待测试的函数
String result = myClass.myFunction();
// 断言结果是否符合预期
assertEquals("Custom behavior", result);
}
在上述示例中,通过when(myClass.myFunction()).thenReturn("Custom behavior")
语句,覆盖了myFunction()
函数的行为,使其返回自定义的字符串"Custom behavior"。然后,通过调用myClass.myFunction()
来测试覆盖后的行为,并使用断言来验证结果是否符合预期。
需要注意的是,使用Mokito进行函数行为覆盖/自定义时,被覆盖的函数必须是可重写的(即非final、非static函数)。否则,Mokito无法覆盖其行为。
推荐的腾讯云相关产品:腾讯云移动测试服务(https://cloud.tencent.com/product/mts)
以上是关于在Android中使用Mokito覆盖/自定义函数行为的完善且全面的答案。
领取专属 10元无门槛券
手把手带您无忧上云