gpt4 book ai didi

Android:仅为测试添加单独的资源

转载 作者:行者123 更新时间:2023-12-05 04:59:42 27 4
gpt4 key购买 nike

我正在开发一个 android 库。

库接受一些参数。例如,它有一个 setStyle 方法,该方法接收对样式资源的引用:

fun setStyle(@StyleRes style: Int) ...

我想测试这个方法。为此,我想传递资源 TestStyle在单元测试中到图书馆。像这样:

myLibrary.setStyle(R.style.TestStyle)

但是,我不想创建 TestStyle主要资源src/main/res/values/styles.xml因为这将使使用我的图书馆的人可以使用资源。我希望它只在测试中可用。

相反,我尝试将 TestStyle <item />在位于 src/test/res/values/styles.xml 的新的仅测试文件中.但是,我不知道如何在单元测试中访问它,因为它不能通过 R 访问。

如何创建只能在测试中访问而不能在代码的其他部分访问的资源?

最佳答案

将您的资源放在某个文件夹中。例如“src/test/res”。并使用以下 gradle 配置:

android {
...
testOptions {
unitTests.includeAndroidResources = true
}
}

tasks.withType(Test) {
android.sourceSets.main.res.srcDirs += 'src/test/res'
}

这样,资源将对调试和发布测试版本可见,但不会打包到您的库或应用中。

关于Android:仅为测试添加单独的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63409626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com