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

なぜNullPointerを取得していたのかがわかりました。データベースにアクセスする前にアダプタを開くのを忘れました。そのようなばかげたエラー!

于 2013-02-05T14:35:34.960 に答える
0

すべてのコードを表示できませんが、データベースを適切に開いていないため、このエラーが発生すると推測しています。

そうでない場合は、何が起こっているのかを理解するために、さらにコードを確認する必要があります。

于 2013-02-05T11:35:25.487 に答える