如何单元测试在JVM上使用Android SDK类的POJO?

如何单元测试在JVM上使用Android SDK类的POJO?,android,junit,jvm,mocking,stub,Android,Junit,Jvm,Mocking,Stub,我有一个名为Warehouse的Java类,它使用Android的。尝试对其进行单元测试时,出现以下异常: java.lang.RuntimeException: Stub! 这个班看起来是这样的: public class Warehouse { private Bundle items; public Warehouse(Bundle items) { this.items = items; } } 在单元测试中,我有以下内容: void tes

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

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上运行这个单元测试?

试着使用
Powermock
来模拟
Bundle
,使用它的能力模拟我发现的最后一个类,这正是我想要的。我本可以使用模拟,但是一半的单元测试将由模拟设置等组成

“一个单元测试框架,它设计了Android SDK jar,因此您可以 试驾Android应用程序的开发。测试在 工作站上的JVM(秒)。”


在这种情况下,这可能会起作用,因为依赖项被注入到方法中。但是如果我直接在POJO中实例化Android类,情况会怎样呢?这是行不通的。