Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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 服务测试中的NullPointerException_Java_Android_Unit Testing_Service - Fatal编程技术网

Java 服务测试中的NullPointerException

Java 服务测试中的NullPointerException,java,android,unit-testing,service,Java,Android,Unit Testing,Service,我有一个服务,它从SharedReferences中获取一些值,并根据所获取的值做一些事情。问题是我总是到处都有NullPointerException,因为我找不到上下文。我的测试代码是这样的。你能帮我吗 public void setUp() throws Exception { super.setUp(); mam=getService(); } public void testStart() { //

我有一个服务,它从SharedReferences中获取一些值,并根据所获取的值做一些事情。问题是我总是到处都有NullPointerException,因为我找不到上下文。我的测试代码是这样的。你能帮我吗

    public void setUp() throws Exception
    {
        super.setUp();
        mam=getService();
    }
    public void testStart()
    {
        //Test 1
        SharedPreferences pref = mam.getSharedPreferences("settings", mam.MODE_PRIVATE);
        Editor editor = pref.edit();
        editor.putInt("hour", -1); 
        editor.putInt("minute", -1); 
        editor.commit();
        mam.startService(new Intent()); //onCreate() or something else
        boolean ok=mam.getOk();
        assertFalse("T.38", ok);
    }
我的服务是:

public void onCreate() 
{   
    pref = getApplicationContext().getSharedPreferences(
            "settings", MODE_PRIVATE);
    int h=pref.getInt("hour", -1);
    int m=pref.getInt("minute", -1);
    if(h!=-1 && m!=-1)
    {
        ...
        ok=true;
    }
}
改变


你能同时提供你的初始化代码吗?另外,您在哪一行上获取NullPointerException?如果可以,请提供堆栈跟踪。每次我使用mam时。我写了
mam=getService()setUp()
方法中使用code>,但现在我认为它不像活动那样工作。每次尝试使用mam时,我仍然会收到NullPointerException。我应该如何初始化它?我编写了
mam=getService()setUp()
方法中使用code>,但现在我认为它不能像活动那样工作。我添加了完整的测试类。服务类中没有其他内容。让我们
mam.startService(new Intent());
Intent intent = new Intent(mam,ServiceClassName.class);
mam.startService(intent);