Android测试取决于库项目上的测试类

问题描述 投票:3回答:2

所以我的项目有两个模块:

  • app
  • 图书馆

在应用程序的addroidTest目录中,我有一些类,这些类取决于位于库的addroidTest目录中的类。

结构为:

:library /src/main
            /androidTests

:app     /src/main
            /androidTests

它们在Android Studio中可以很好地编译,但是当我运行测试时,我得到:

错误:(6,32)错误:找不到符号类XXXX错误:执行任务失败[...]

编译失败;有关详细信息,请参见编译器错误输出。

[....]

执行任务失败>':app:compileProductionDebugAndroidTestJavaWithJavac'。

[似乎gradle执行任务':app:compileProductionDebugAndroidTestJavaWithJavac'时,找不到在库的测试目录中的类。

任何想法我该如何解决?

android testing android-studio gradle android-gradle-plugin
2个回答
2
投票

test源集不会添加到输出的jar中,因此当applibrary中查找androidTest代码时不存在。您可以将共享的类放在主库代码中,然后从app那里引用它,但是我认为您不可能依赖于另一个模块的测试类。


-3
投票

我曾与Junit合作,它位于您提到的libs文件夹中。对于您的测试课程,您可以尝试以下步骤:

1-在androidTest文件夹中,确保将测试类放置在这样的路径中:androidTest-> java-> com.examples.bla(与项目相同)->测试类。

2-进行运行/调试配置->默认值-> Android测试(如果不存在,请添加它),然后选择“模块中的所有”作为测试选项,并确保在该位置添加了Gradle-aware Make配置窗口的底部。

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