codelab-android-dagger icon indicating copy to clipboard operation
codelab-android-dagger copied to clipboard

FakeStorage unresolved reference on TestStorageModule

Open reisfernanda opened this issue 2 years ago • 2 comments

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

reisfernanda avatar Oct 31 '23 13:10 reisfernanda

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 avatar Jun 14 '24 22:06 amazingvoice

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

amazingvoice avatar Jun 14 '24 22:06 amazingvoice