0

我刚刚开始学习 Robotium,并且我已经编写了一个测试用例来重置我的应用程序中记录的统计信息。我想知道是否有一种方法可以自动创建统计数据,而不必在每次运行测试时自己手动创建它们。

谢谢

编辑:

在运行第一个测试之前,我现在已经在数据库中添加了一些随机值。但是,这会导致 NullPointerException。

这是我用来创建一些统计信息的方法:

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;
}

NullPointer 发生在上述方法的 return 语句中。任何想法为什么会这样?

4

2 回答 2

0

我看不到您的所有代码,但我猜您收到此错误是因为您没有正确打开数据库。

如果不是这样,我将需要查看更多代码以了解正在发生的事情。

于 2013-02-05T11:35:25.487 回答
0

我发现了为什么我得到了 NullPointer。我忘记在访问数据库之前打开我的适配器。如此愚蠢的错误!

于 2013-02-05T14:35:34.960 回答