Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android片段测试依赖项导致发布版本编译失败_Android_Android Fragments_Gradle - Fatal编程技术网

android片段测试依赖项导致发布版本编译失败

android片段测试依赖项导致发布版本编译失败,android,android-fragments,gradle,Android,Android Fragments,Gradle,我继续测试片段,并添加了gradle依赖项作为调试实现 def fragmentVersion = "1.2.5" implementation "androidx.fragment:fragment-ktx:$fragmentVersion" debugImplementation "androidx.fragment:fragment-testing:$fragmentVersion" 现在,我的发布单元测

我继续测试片段,并添加了gradle依赖项作为调试实现

    def fragmentVersion = "1.2.5"
    implementation "androidx.fragment:fragment-ktx:$fragmentVersion"
    debugImplementation "androidx.fragment:fragment-testing:$fragmentVersion"
现在,我的发布单元测试任务将不会编译,因为我调用以启动片段的方法在发布类路径上不存在


> Task :app:compileReleaseUnitTestKotlin FAILED
e: C:\Users\....kt: (5, 30): Unresolved reference: testing
e: C:\Users\....kt: (58, 9): Unresolved reference: launchFragmentInContainer
e: C:\Users\....kt: (65, 9): Unresolved reference: launchFragmentInContainer

我理解为什么他们只让它进行调试,所以在发布版本中没有测试内容。
但是如何解决这个编译问题呢?

面对同样的问题,我最终采取了以下解决方法:

使用文档中建议的相关性:

debugImplementation "androidx.fragment:fragment-testing:$fragmentVersion"
然后我移动了所有依赖于lib
androidx的测试。fragment:fragment testing
位于
testDebug
风格

赞成的意见:
  • 可以为调试和发布构建和测试
欺骗:
  • 较低的代码发布覆盖率:(
  • 在没有该要求的情况下,可能捕获的缩小错误将不会:(
以下是项目结构的处理方式:


所以我在依赖项中添加了
testImplementation“androidx.fragment:fragment testing:$fragmentVersion”
,测试版本编译任务现在可以工作了,所以我想我只需要忽略build.gradle文件中的红色警告,上面写着“替换为debugImplementation”