loginUnit.java(测试文件)
@RunWith(MockitoJUnitRunner.class)
public class loginUnit {
@Mock
TextUtils mMockTextUtils;
@Test
public void checkStringEmpty(){
String empty = "";
when(mMockTextUtils.isEmpty(empty)).thenReturn(true);
assertThat(LoginActivity.isStringEmpty(empty),is(equalTo(true)));
}
Run Code Online (Sandbox Code Playgroud)
来自 LoginActivity 的 UUT(被测单元)
public static boolean isStringEmpty(String s){
return TextUtils.isEmpty(s);
}
Run Code Online (Sandbox Code Playgroud)
我总是收到 android.text.TextUtils not mocked 错误,请帮助我?
在 src/test/java 文件夹中,添加 android.text 包并创建 TextUtils.java
public class TextUtils {
public static boolean isEmpty(CharSequence str) {
return str == null || str.length() == 0;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
请参阅http://tools.android.com/tech-docs/unit-testing-support#TOC-Method-...-not-mocked.-
android {
// ...
testOptions {
unitTests.returnDefaultValues = true
}
}
Run Code Online (Sandbox Code Playgroud)