Skip to content

Commit b8a3ed9

Browse files
Merge pull request #607 from nimblehq/bug/606-fix-incorrect-imports-in-homescreentest-and-mockutil
[#606] Fix: Incorrect imports in HomeScreenTest and MockUtil in Sample Compose androidTest
2 parents ce180d3 + ec22177 commit b8a3ed9

File tree

7 files changed

+24
-19
lines changed

7 files changed

+24
-19
lines changed

sample-compose/app/build.gradle.kts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,14 @@ android {
8484
buildConfig = true
8585
}
8686

87-
packagingOptions {
87+
packaging {
8888
jniLibs {
8989
// Resolve "libmockkjvmtiagent.so" https://github.com/mockk/mockk/issues/297#issuecomment-901924678
9090
useLegacyPackaging = true
9191
}
92+
resources {
93+
merges += listOf("/META-INF/LICENSE.md", "/META-INF/LICENSE-notice.md")
94+
}
9295
}
9396

9497
lint {
@@ -144,15 +147,19 @@ dependencies {
144147

145148
// UI test with Robolectric
146149
testImplementation(platform(libs.compose.bom))
147-
testImplementation(libs.test.compose.ui)
150+
testImplementation(libs.test.compose.ui.junit4)
148151
testImplementation(libs.test.rules)
149152
testImplementation(libs.test.robolectric)
150153

151154
// UI test
152155
androidTestImplementation(platform(libs.compose.bom))
153-
androidTestImplementation(libs.test.compose.ui)
156+
androidTestImplementation(libs.test.compose.ui.junit4)
154157
androidTestImplementation(libs.test.rules)
155-
androidTestImplementation(libs.test.mockk)
158+
androidTestImplementation(libs.test.mockk.android)
159+
160+
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>()
161+
// Ref: https://developer.android.com/develop/ui/compose/testing#setup
162+
debugImplementation(libs.test.compose.ui.manifest)
156163
}
157164

158165
/*

sample-compose/app/src/androidTest/java/co/nimblehq/sample/compose/test/MockUtil.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package co.nimblehq.sample.compose.test
22

3-
import co.nimblehq.sample.compose.domain.model.Model
3+
import co.nimblehq.sample.compose.domain.models.Model
44

55
object MockUtil {
66

sample-compose/app/src/androidTest/java/co/nimblehq/sample/compose/ui/screens/main/home/HomeScreenTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import androidx.compose.ui.test.onNodeWithText
88
import androidx.compose.ui.test.performClick
99
import androidx.test.ext.junit.rules.ActivityScenarioRule
1010
import androidx.test.rule.GrantPermissionRule
11-
import co.nimblehq.sample.compose.domain.usecase.GetModelsUseCase
12-
import co.nimblehq.sample.compose.domain.usecase.IsFirstTimeLaunchPreferencesUseCase
13-
import co.nimblehq.sample.compose.domain.usecase.UpdateFirstTimeLaunchPreferencesUseCase
11+
import co.nimblehq.sample.compose.domain.usecases.GetModelsUseCase
12+
import co.nimblehq.sample.compose.domain.usecases.IsFirstTimeLaunchPreferencesUseCase
13+
import co.nimblehq.sample.compose.domain.usecases.UpdateFirstTimeLaunchPreferencesUseCase
1414
import co.nimblehq.sample.compose.test.MockUtil
1515
import co.nimblehq.sample.compose.test.TestDispatchersProvider
1616
import co.nimblehq.sample.compose.ui.base.BaseDestination

sample-compose/app/src/test/java/co/nimblehq/sample/compose/ui/screens/main/home/HomeScreenTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import io.kotest.matchers.shouldBe
1818
import io.mockk.*
1919
import kotlinx.coroutines.flow.flow
2020
import kotlinx.coroutines.flow.flowOf
21-
import kotlinx.coroutines.test.*
2221
import org.junit.*
2322
import org.junit.Assert.assertEquals
2423
import org.junit.runner.RunWith

sample-compose/domain/src/test/java/co/nimblehq/sample/compose/domain/usecases/IsFirstTimeLaunchPreferencesUseCaseTest.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@ import co.nimblehq.sample.compose.domain.repositories.AppPreferencesRepository
44
import io.kotest.matchers.shouldBe
55
import io.mockk.every
66
import io.mockk.mockk
7-
import kotlinx.coroutines.ExperimentalCoroutinesApi
87
import kotlinx.coroutines.flow.*
98
import kotlinx.coroutines.test.runTest
10-
import org.junit.Assert.*
119

1210
import org.junit.Before
1311
import org.junit.Test
1412

15-
@OptIn(ExperimentalCoroutinesApi::class)
1613
class IsFirstTimeLaunchPreferencesUseCaseTest {
1714

1815
private lateinit var mockAppPreferencesRepository: AppPreferencesRepository

sample-compose/domain/src/test/java/co/nimblehq/sample/compose/domain/usecases/UpdateFirstTimeLaunchPreferencesUseCaseTest.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,10 @@ package co.nimblehq.sample.compose.domain.usecases
22

33
import co.nimblehq.sample.compose.domain.repositories.AppPreferencesRepository
44
import io.mockk.*
5-
import kotlinx.coroutines.ExperimentalCoroutinesApi
6-
import kotlinx.coroutines.flow.*
75
import kotlinx.coroutines.test.runTest
8-
import org.junit.Assert.*
96
import org.junit.Before
107
import org.junit.Test
118

12-
@OptIn(ExperimentalCoroutinesApi::class)
139
class UpdateFirstTimeLaunchPreferencesUseCaseTest {
1410

1511
private lateinit var mockAppPreferencesRepository: AppPreferencesRepository

sample-compose/gradle/libs.versions.toml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ retrofit = "2.11.0"
3434
robolectric = "4.13"
3535
security = "1.0.0"
3636
testCore = "1.6.1"
37-
testRules = "1.6.1"
37+
testRules = "1.7.0-alpha01"
3838
timber = "5.0.1"
3939
turbine = "0.13.0"
4040

@@ -93,12 +93,18 @@ test-core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "tes
9393
test-junit = { group = "junit", name = "junit", version.ref = "junit" }
9494
test-kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
9595
test-kotest-assertions-core = { group = "io.kotest", name = "kotest-assertions-core", version.ref = "kotest" }
96+
# For Unit Test
9697
test-mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" }
9798
test-turbine = { group = "app.cash.turbine", name = "turbine", version.ref = "turbine" }
98-
test-compose-ui = { group = "androidx.compose.ui", name = "ui-test-junit4" }
99+
test-compose-ui-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
99100
test-robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
100101
test-rules = { group = "androidx.test", name = "rules", version.ref = "testRules" }
101102

103+
# For UI Test
104+
# Ref: https://github.com/mockk/mockk/issues/325#issuecomment-549027350
105+
test-mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "mockk" }
106+
test-compose-ui-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
107+
102108
[bundles]
103109
androidx = [
104110
"androidx-core",
@@ -135,7 +141,7 @@ unitTest = [
135141
"test-mockk",
136142
]
137143
uiTest = [
138-
"test-compose-ui",
144+
"test-compose-ui-junit4",
139145
"test-robolectric",
140146
]
141147

0 commit comments

Comments
 (0)