测试方法:
public static String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
return WordUtils.capitalize(model);
} else {
return WordUtils.capitalize(manufacturer) + " " + model;
}
}
测试用例:
@Test
public void testGetDeviceName() throws Exception {
String deviceNameTest = "device name";
assertEquals(deviceNameTest, DeviceUtil.getDeviceName());
}
错误
java.lang.NullPointerException
getDeviceName(DeviceUtil.java:15) DeviceUtilTest.testGetDeviceName(DeviceUtilTest.java:18)
DeviceUtil.getDeviceName() -> returns null
最佳答案
您无法测试 getDeviceName()
、Build.MANUFACTURER
和 Build。 MODEL
将返回 null。另外制造商和型号来自设备,您的IDE如何获取它?
顺便说一句,如果你想用静态方法测试 Util 类,我建议你使用
PowerMock
也是如此,否则您必须创建 util 的包装类来进行测试。
关于java - Android 单元测试 - 测试返回 null 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823382/