Java Robotium-在执行测试用例之前执行任务
我刚刚开始学习Robotium,我已经编写了一个测试用例来重置我应用程序中记录的统计数据。我想知道是否有一种方法可以自动创建统计数据,而无需每次运行测试时自己手动创建统计数据 谢谢 编辑: 在运行第一个测试之前,我已经在数据库中添加了一些随机值。但是,这会导致NullPointerException 这是我用来创建一些统计数据的方法:Java Robotium-在执行测试用例之前执行任务,java,android,testing,robotium,Java,Android,Testing,Robotium,我刚刚开始学习Robotium,我已经编写了一个测试用例来重置我应用程序中记录的统计数据。我想知道是否有一种方法可以自动创建统计数据,而无需每次运行测试时自己手动创建统计数据 谢谢 编辑: 在运行第一个测试之前,我已经在数据库中添加了一些随机值。但是,这会导致NullPointerException 这是我用来创建一些统计数据的方法: private void createStats() { Context context = getInstrumentation().getTarget
private void createStats() {
Context context = getInstrumentation().getTargetContext();
mDbAdapter = new PlayDbAdapter(context);
mDbAdapter.updateViews(8, 5);
mDbAdapter.updateViews(7, 3);
mDbAdapter.updatePrompts(7, 2);
mDbAdapter.updateCompletions(8, 1);
mDbAdapter.close();
}
在运行第一个测试时调用此方法。updateViews方法如下所示:
public boolean updateViews(long rowId, int views) {
ContentValues args = new ContentValues();
args.put(KEY_VIEWS, views);
return mDb.update(DB_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}
在上述方法中,null指针发生在return语句中。知道这是为什么吗?我看不到您的所有代码,但我猜您会出现此错误,因为您没有正确打开数据库
如果不是这样,我将需要查看更多的代码来了解发生了什么。我找到了获取空指针的原因。在访问数据库之前,我忘了打开适配器。多么愚蠢的错误 它们如何存储在应用程序中?它们是否被放入数据库?变成共享偏好?它们只是活动中的一个变量吗?它们的存储方式将改变我们伪造它们的方式!是的,它们存储在数据库中,所以我想我可以在运行测试之前,在数据库中输入一些任意值。