2

我有一个名为Warehouse的 Java 类,它正在使用 Android 的Bundle。尝试对其进行单元测试时,出现以下异常:

java.lang.RuntimeException: Stub!

这个类看起来像这样:

public class Warehouse {
    private Bundle items;

    public Warehouse(Bundle items) {
        this.items = items;
    }
}

在单元测试中,我有以下内容:

void testInitializeWarehouse() {
     Bundle items = new Bundle();
     Warehouse wh = new Warehouse(items);
     assertNotNull(wh);
}

当我运行测试时,我得到java.lang.RuntimeException: Stub! 我知道这个问题与我在 JVM 而不是 Dalvik VM 上运行单元测试有关,但是有没有办法在 JVM 上运行这个单元测试?

4

2 回答 2

0

尝试使用它来Powermock模拟Bundle最终类的能力,如此处所述- Powermock MockFinal

于 2013-07-09T12:40:22.137 回答
0

我发现了Robolectric,这正是我想要的。我本可以使用模拟,但是一半的单元测试将包括模拟设置等。

“一个单元测试框架,它可以去除 Android SDK jar,因此您可以测试驱动您的 Android 应用程序的开发。测试在几秒钟内在您的工作站上的 JVM 中运行。”

于 2013-07-10T21:09:46.337 回答