Комната тестирования AndroidUnit в dagger2 - PullRequest
0 голосов
/ 29 марта 2019

Я создал модуль dagger2 для базы данных комнат, как показано ниже:

@Module
public class RoomModule {

    @AppScope
    @Provides
    StateDataBase dbEngineerProvider(Context context){
        return Room.databaseBuilder(context, StateDataBase.class, "State.db").build();
    }

    @AppScope
    @Provides
    UserDao getUserDao(StateDataBase db) {
        return db.getUserDao();
    }
}

, и я инициализировал кинжал в своем классе приложения:

    @Override
    public void onCreate() {
        super.onCreate();
        Timber.plant(new Timber.DebugTree());

        component = DaggerAppComponent.builder()
                .networkModule(new NetworkModule(this))
                .build();
    }

    public AppComponent getAppComponent() {
        return component;
    }
}

Я хочу знать, как можно сделатьреальный тест не пробный тест из моей комнаты базы данных в кинжале?

Я хочу вставить данные в свою базу данных, и в своем приложении я использую эти данные !!!Например, в тесте я вставляю имя пользователя и пароль моего пользователя, а затем, когда я запускаю приложение, я использую эти данные для входа в приложение !!Возможно ли это?

1 Ответ

0 голосов
/ 29 марта 2019
@Test
    fun testRoomDatabase() {
        val dao = Room.databaseBuilder(context!!, Database::class.java, "Database.db").build().dao()

        val alertList = ArrayList<Alert>()

        val alert = Alert()
        alert.alertId = 22603
        alert.alertType = 3
        alert.geoFence = ""

        val alert1 = Alert()
        alert1.alertId = 12603
        alert1.alertType = 10
        alert1.geoFence = ""

        alertList.add(alert)
        alertList.add(alert1)

        Assert.assertNotNull(alertList)
        val ids = dao.insertSelectedAlertsToDatabase(alertList)
        Assert.assertEquals(2, ids.size)
        Assert.assertFalse(1 == ids.size)

        // fetch all alerts from database
        val alerts = dao.fetchAllAlerts()/*.test().onComplete()*/
        Assert.assertNotNull(alerts)
    }

Надеюсь, у вас есть база данных.

...