如何单元测试在JVM上使用Android SDK类的POJO?
我有一个名为Warehouse的Java类,它使用Android的。尝试对其进行单元测试时,出现以下异常:如何单元测试在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
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类,情况会怎样呢?这是行不通的。