テストで使用するgreenDAO
データベースセッションオブジェクトを作成しようとしています。 SQLiteDatabase
オブジェクトを取得しようとすると、常にnullが返されます。 エラーは返されず、理由がわかりません。コードの下junitテスト用のgreenDAOセッションオブジェクトの設定
:
@RunWith(MockitoJUnitRunner.class)
public class ChatRoomModuleTest {
SomeEntityDao someEntityDao;
@Mock
Context mMockContext;
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@Before
public void Before(){
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(mMockContext, "myapp-db", null);
SQLiteDatabase db = openHelper.getWritableDatabase(); //always return null;
DaoSession daoSession = new DaoMaster(db).newSession();
someEntityDao = daoSession.getSomeEntityDao();
}
}
注:私はアンドロイドのテストを使用してテストすることができます知っているが、彼らははるかに遅いと独立したプラットフォームのロジックをテストする必要があります。
ユニットテストかインテグレーションテストですか? –
中間層クラス – ByteArtisan
をテストすることになっています。コンテキストをモックします。 DevOpneHelperに渡す前に最初に設定してください。 –