6

在一个 android 项目中,我尝试运行简单的 junit 测试。他们总是失败:

java.lang.RuntimeException: Stub!
at org.apache.http.impl.client.AbstractHttpClient.<init>(AbstractHttpClient.java:5)
at org.apache.http.impl.client.DefaultHttpClient.<init>(DefaultHttpClient.java:7)
at com.my.android.JsonParser.getJSONFromUrl(JsonParser.java:27)
at com.my.android.test.JsonParser_Test.getJson(JsonParser_Test.java:19)

这是它失败的路线,任何新的班级启动都会这样做。

 public JSONObject getJSONFromUrl(String url) {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        ...
 }

在几篇文章中,我发现junitjar 应该包含在Android SDK. 我这样做了IntelliJ,但我没有帮助。我正在使用junit 4.9Android SDK 4.2.2

4

1 回答 1

0

我认为 robolectric 可能对你有用。

在 Android 模拟器或设备上运行测试很慢!构建、部署和启动应用程序通常需要一分钟或更长时间。这不是做TDD的方法。一定会有更好的办法。

直接从 IDE 内部运行 Android 测试不是很好吗?也许您已经尝试过,但被可怕的“java.lang.RuntimeException: Stub!”挫败?

http://pivotal.github.com/robolectric/

于 2013-04-05T08:02:23.953 回答