2013-02-04 67 views
0

我刚开始学习Robotium,我写了一个测试用例,它在我的应用程序中重置记录的统计信息。我想知道是否有一种方法可以自动创建统计信息,而无需在每次运行测试时手动创建统计信息。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语句中。任何想法,为什么这是?

+0

它们是如何存储在应用程序中的?他们是否被放入数据库?变成共享偏好?他们只是活动中的一个变量吗?它们的存储方式将改变我们如何伪造它们! –

+0

是的,他们存储在数据库中,所以我想我可以在运行测试之前在数据库中输入一些冗余值。 –

回答

0

我不能看到你所有的代码,但我猜你会得到这个错误,因为你没有正确打开你的数据库。

如果不是我需要查看更多代码才能了解发生了什么。

0

我发现为什么我得到NullPointer。在访问数据库之前,我忘记打开适配器。这样一个愚蠢的错误!

相关问题