保持模拟数据仅供测试和 androidTest 访问

问题描述 投票:0回答:1

我有模拟数据,我想将其用于单元测试和仪器测试。为了避免重复,我创建了一个公共目录 testHelper 并将模拟数据放在那里。在 app/build.gradle 中我做了:

sourceSets {
        androidTest {
            java.srcDirs += 'testHelper'
        }

        test {
            java.srcDirs += 'testHelper'
        }
}

现在我可以从单元和 UI 测试导入模拟数据,但我也可以从主应用程序访问它们。我想避免这样做。我尝试了一些技巧,例如在上面添加 src/ 但没有什么区别。

基本上,我不希望我的主代码访问模拟数据

import AppMockData // ==> this shouldn't work. currently it does.

@Composable
fun HelloWorld(){}
android unit-testing
1个回答
0
投票

您必须定义一个新的库模块(我们称之为“common”),您可以在其中定义您需要的所有模拟数据。 最后,您必须将此新模块作为依赖项链接到主应用程序的

build.gradle
文件中:

testImplementation project(':common')
androidTestImplementation project(':common')

这样,您的模拟数据将无法从您的应用代码访问。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.