Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让Android上下文参与测试?_Java_Android_Maven_Junit - Fatal编程技术网

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!