android / codelab-android-dagger

Apache License 2.0
181 stars 157 forks source link

FakeStorage unresolved reference on TestStorageModule #78

Open reisfernanda opened 11 months ago

reisfernanda commented 11 months ago

TestStorageModule from androidTest shows an unresolved reference error for FakeStorage on the solution branch, even though the instrumented tests run successfully. FakeStorage is located at the sharedTest package, and this package is shared with tests through sourceSets, but it looks like sharing code this way is not supported anymore, according to this comment on Google Issue Tracker.

sourceSets {
        String sharedTestDir = 'src/sharedTest/java'
        test {
            java.srcDir sharedTestDir
        }
        androidTest {
            java.srcDir sharedTestDir
        }

    }

A suggestion found on the same comment on Google Issue Tracker is to create a new module with the code that needs to be shared and add it as a dependency for testImplementation and androidTestImplementation.

testImplementation project(path: ':shared-test')
androidTestImplementation project(path: ':shared-test') 

Android Studio version:

Android Studio Giraffe | 2022.3.1 Patch 2
Build #AI-223.8836.35.2231.10811636, built on September 14, 2023
amazingvoice commented 3 months ago

Still impacted by this issue in: Android Studio Jellyfish | 2023.3.1 Patch 2 Build #AI-233.14808.21.2331.11926650, built on June 4, 2024

I did some research about sharing code between test and androidTest folder and got the same solution as yours. Thanks for posting this : )

amazingvoice commented 3 months ago

@manuelvicnt Please check the solution to this issue. Thanks.