Триггер sqlite не срабатывает в базе данных памяти при тестировании базы данных комнаты с помощью junit4Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Триггер sqlite не срабатывает в базе данных памяти при тестировании базы данных комнаты с помощью junit4

Сообщение Anonymous »

мне нужно мое приложение,
запросы в магазине приложений для Android
у меня есть тесты для проверки базы данных моей комнаты, у меня проблема с одним тестом.
тест утверждает, что при вставке очень старых запросов срабатывает триггер для их удаления.
проблема в том, что я пробовал код в основной активности и, кажется, работает, но в Junit происходит сбой

Код: Выделить всё

lifecycleScope.launch(Dispatchers.IO) {
Log.d(TAG, " TEST...")
val requestDao = RequestsDataBase.getDataBase(this@TEST.applicationContext).RequestDao()

val nowUnix = Date().time / 1000 // seconds
println("now unix /1000 $nowUnix")
println("now unix ${nowUnix * 1000}")
val oldExpired = nowUnix - 86400 - 10
println("old $oldExpired")
requestDao.insert(Request("a1", "", oldExpired))
requestDao.insert(Request("a2", "a", nowUnix))
requestDao.insert(Request("a9", "a1", nowUnix - 200))

val data = requestDao.read()

for (one in data) {
println("-- $one")
}
}
но проблема в том, что внутри тестов тест провалился и старые запросы не удаляются

Код: Выделить всё

fun assert_deletion_of_old_requests(){
val nowUnix = Date().time / 1000 // seconds
println("now unix /1000 $nowUnix")
println("now unix ${nowUnix * 1000}")
val oldExpired = nowUnix - 86400 - 10
println("old $oldExpired")
requestDao.insert(Request("a1", "", oldExpired))
requestDao.insert(Request("a2", "a", nowUnix))
requestDao.insert(Request("a9", "a1", nowUnix - 200))

println("waiting start")
val start = Date().time / 1000 // now in seconds
var now = Date().time / 1000 // now in seconds
while (now - start  < 10){
now = Date().time / 1000
}
println("endwaiting")
val data = requestDao.read()

for (one in data) {
println("-- $one")
}
assert(data.size == 2)

}
я пробовал добавить ожидание, но оно не работает

Подробнее здесь: https://stackoverflow.com/questions/792 ... -with-juni
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»