我正在为Android模拟器(api 16和api 23)上没有数据的场景编写测试测试。我尝试了以下代码来禁用数据,
@Test
public void disconnectData() throws IOException {
String line;
Process p = Runtime.getRuntime().exec("svc data disable");
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = in.readLine()) != null) {
System.out.println(line);
Log.d("asdf", line);
}
in.close();
}
它没有做任何事情。数据未被禁用。它只是顺利通过。没有输出。
如果我使用adb从终端运行相同的命令,它可以工作:
adb -s emulator-5554 shell
svc data disable
答案 0 :(得分:0)
替代解决方案是使用mockwebserver。如,
server.enqueue(new MockResponse()
.setResponseCode(HttpURLConnection.HTTP_INTERNAL_ERROR)
.setBody(getStringFromFile(getInstrumentation().getContext(), "login.json")));