Java 如何让Android上下文参与测试?
我有一个从Java 如何让Android上下文参与测试?,java,android,maven,junit,Java,Android,Maven,Junit,我有一个从资产目录中读取属性的类。此类的构造函数具有上下文。我想为这个类编写测试,但我真的不知道如何在Android测试中获取上下文 public class PropertyLoader { private Context context; private Properties properties; public PropertyLoader(Context context) { this.context = context; pr
资产
目录中读取属性的类。此类的构造函数具有上下文。我想为这个类编写测试,但我真的不知道如何在Android测试中获取上下文
public class PropertyLoader {
private Context context;
private Properties properties;
public PropertyLoader(Context context) {
this.context = context;
properties = new Properties();
}
public Properties getProperties(String FileName) {
...
}
}
测试班
我得到以下例外
junit.framework.AssertionFailedError: Exception in constructor: testSimple (java.lang.RuntimeException: Stub!
在Android仿真器或设备上运行测试 您在桌面上使用的android.jar没有任何实现。那里的所有方法都会抛出
RuntimeException:Stub代码>
或者,从代码中删除所有Android依赖项,这样您就可以在不导入Android.jar的情况下运行测试。带有上下文的TestCase(测试将在设备或模拟器上运行)好的,但是当我想在Android设备上运行测试时,是否需要带有活动的类?因为我对PropertyLoader的实现是独立的apklib,包含在带有主活动的模块中。像往常一样编写JUnit测试,如果您使用的是Eclipse/ADT,请选择RunAs->Android JUnit测试。无需仅为测试目的编写活动。
junit.framework.AssertionFailedError: Exception in constructor: testSimple (java.lang.RuntimeException: Stub!