我有一个项目,其中创建了Java和Android库。
在Android库中,创建了一个测试文件夹,请参见下文:
但是,我想在主应用程序模块而不是Android库中添加测试。主要应用程序是其他人提供的代码,并且未添加测试文件夹。
我最初尝试复制和粘贴文件夹,但是现在我看到这导致了问题,因为我的新测试文件夹未建立索引。换句话说,我无法访问任何外部类,并且Android Studio / IntelliJ编辑器未响应:
答案 0 :(得分:2)
Android gradle设置遵循标准的maven文件夹结构,即src/main/java
,src/test/java
等...
您的生产代码将输入src/main/java
,
您的JVM单元测试代码进入src/test/java
,
您需要Android设备的测试进入src/androidTest/java
。
这些是标准文件夹名称。 Gradle默认情况下会识别这些文件夹名称。如果需要提供自己的文件夹名称(应避免使用这些名称),则需要在build.gradle
中添加以下配置。
android {
sourceSets {
androidTest.java.srcDirs += "src/androidEndpointTest/java"
}
}
现在,在src/main/java
或src/androidTest/java
内部,您可以创建所需的任何Java file
。但是在src/main/java
和src/androidTest/java
中都不能拥有带有相同包的相同Java文件。例如,您不能有src/main/java/com/example/SomeFile.java
和src/androidTest/java/com/example/SomeFile/java
。这是因为Gradle将在运行测试期间合并这些文件夹,并且同一文件夹中不能有两个名称相同的文件。