gpt4 book ai didi

android - 如何创建既可用于Android测试又可用于单元测试的测试类?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:15 27 4
gpt4 key购买 nike

我经常发现自己在为 Android 测试 /androidTest 和单元测试 /test 复制完全相同的一组测试类,例如模拟或助手应用模块。

例如,我有一些静态函数可以帮助我在 /test/MockUtils.java 中快速设置模拟。但是,我不能在我的任何 Android 测试中重用这个助手类,因为它们不共享相同的类路径 - /androidTest/test

我想过创建一个只包含测试资源的新模块。但是,这个想法行不通,因为 Android Gradle 插件拒绝依赖应用模块。

project testCommon resolves to an APK archive which is not supported as a compilation dependency.

有没有其他方法可以创建可以在 Android 测试和单元测试中重复使用的测试类?

最佳答案

注意:这是一个理论上的解决方案,我还没有尝试过。

第 1 步:在您尝试为其设置共享测试代码的模块中创建一个 testSrc/ 目录。

第 2 步:将共享代码放在该目录中(具有基于 Java 包的适当子目录)。

第 3 步:在模块的 build.gradle 文件中的 android 闭包中添加以下闭包:

sourceSets {
androidTest {
java.srcDirs <<= 'testSrc'
}

test {
java.srcDirs <<= 'testSrc'
}
}

这应该做的是告诉 Gradle for Android testSrcandroidTesttest 源集中 Java 代码的另一个源目录。

关于android - 如何创建既可用于Android测试又可用于单元测试的测试类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31635610/

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