我正在运行Expresso测试,并且我需要使用上下文作为参数来模拟该方法。这段代码位于片段启动的3.0
中。由于我正在模拟器中运行测试用例,因此我必须模拟方法onStart()
以在片段启动之前返回true。下面的代码以isBLESupported
方法编写。
onStart
这是我在启动片段之前模拟该方法的方法。但是我看到测试用例正在执行真实代码,并且模拟无法正常工作。
BreatheMapperUtils utils = new BreatheMapperUtils();
if (utils.isBLESupported(getActivity())) {
startSyncProcess();
} else {
//TODO does not run on emulator
showNotificationAlert(getString(R.string.ERROR), getString(R.string.BLE_NOT_SUPPORTED), "Ok");
}
但是模拟仍然没有成功。如果您有任何想法,请帮助。是否可以通过上下文模拟该方法?我已经阅读了一些文档,并说我们不能在Expresso测试用例中使用Power Mockito。
答案 0 :(得分:1)
可能是因为您在onStart中创建了BreatheMapperUtils
的新实例。该模拟仅对您在设置方法中使用的实例有效。