Skip to content

Commit 6da3cdf

Browse files
committed
fix: flaky tests in PreviewerViewModelTest
Fixes BackendCollectionAlreadyOpenException init { } ran code, but the coroutines were not cancelled Fixes 20704
1 parent 913f19e commit 6da3cdf

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

AnkiDroid/src/test/java/com/ichi2/anki/previewer/PreviewerViewModelTest.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.ichi2.anki.previewer
1717

1818
import androidx.lifecycle.SavedStateHandle
19+
import androidx.lifecycle.viewModelScope
1920
import androidx.test.ext.junit.runners.AndroidJUnit4
2021
import com.ichi2.anki.Flag
2122
import com.ichi2.anki.browser.IdsFile
@@ -26,9 +27,11 @@ import io.mockk.coEvery
2627
import io.mockk.every
2728
import io.mockk.mockk
2829
import io.mockk.spyk
30+
import kotlinx.coroutines.cancel
2931
import kotlinx.coroutines.flow.first
3032
import kotlinx.coroutines.test.TestScope
3133
import kotlinx.coroutines.test.advanceUntilIdle
34+
import org.junit.After
3235
import org.junit.Assert.assertEquals
3336
import org.junit.Assert.assertFalse
3437
import org.junit.Assert.assertTrue
@@ -84,6 +87,12 @@ class PreviewerViewModelTest : JvmTest() {
8487
coEvery { viewModel.prepareCardTextForDisplay(any()) } answers { firstArg() }
8588
}
8689

90+
@After
91+
override fun tearDown() {
92+
viewModel.viewModelScope.cancel()
93+
super.tearDown()
94+
}
95+
8796
@Test
8897
fun `next button`() =
8998
runTest {

0 commit comments

Comments
 (0)