Java 服务测试中的NullPointerException
我有一个服务,它从SharedReferences中获取一些值,并根据所获取的值做一些事情。问题是我总是到处都有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() { //
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);