0

我想制作一个套件来测试我在 Android 应用程序中的 web 服务调用。它们扩展了 AsynchTask。

我不想更改我的 api 以提供同步调用。

我已经尝试过 JUnit / Android 测试项目。方法已运行,但回调从未执行。

为了使用测试项目设置,至少可以很好地添加原始项目的依赖项,我做了一些修改。继续使用 TestCase 子类,但不使用测试方法,而是从 setUp() 方法中手动调用自定义测试方法,而不是使用 JUnit 的断言,我将调试消息输出到日志。我什至添加了一个调用 Thread.sleep(10000) 的测试方法,以防回调没有执行,因为类完成速度很快。你猜怎么着,也没用。回调仍然从未执行。我以前收到日志消息,但回调中的日志消息从未出现。

我还尝试了一个普通的 Java 项目。但这也不起作用,因为 AsynchTask 和其他一些 Android 类。将 Android 作为库添加到 Java 项目中不起作用,因为 Android 库是“存根的”并且只应该在 Android 项目中使用,据我阅读研究。

那么我该怎么做才能测试这些网络服务呢?我可以使用纯 Java 项目单独测试 Web 服务。但我想测试我的包装类,它构建参数等等。但是这些包装类与 android 库和 AsynchTask 相结合,没有办法改变它。

4

0 回答 0