我试图在
Android Studio 0.9中分离出集成测试.
sourceSets { integrationTest { java.srcDir file('src/integrationTest/java') } } task integrationTest(type: Test) { testClassesDir = sourceSets.integrationTest.output.classesDir classpath = sourceSets.integrationTest.runtimeClasspath }
我遇到了几个问题:
>任务将运行,但没有其余的项目文件可用,所以我收到有关缺少类的错误.有一些Java特定的解决方案,我发现如:
> http://selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradle/
> https://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/
但是我无法弄清楚如何使它与Android Studio一起使用. main和main.output的各种组合以及依赖关系的播放似乎不起作用,我会收到以下错误:
Error:(33,0) Could not find property 'main' on SourceSet container..
这是有道理的,因为android插件定义了自己的源代码集,但这些也不起作用.
> IDE不能将目录识别为测试源目录.为了测试目的,我将源集名称更改为androidTest,并且它正确地获取了绿色文件夹图标,并且测试与已经在androidTest中定义的单元测试一起运行.
解决方法
我在Gradle中完成了这种分离,但是对于一个纯Java项目而不是Android.您没有在源集中指定类路径,我认为这是问题.这是build.gradle的相关部分:
sourceSets { integration { java { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration/java') } resources { srcDir 'src/integration/resources' } } } configurations { integrationCompile.extendsFrom testCompile integrationRuntime.extendsFrom testRuntime } task integrationTest(group: "verification",type: Test) { testClassesDir = sourceSets.integration.output.classesDir classpath = sourceSets.integration.runtimeClasspath } integrationTest.dependsOn testClasses
原文地址:https://www.jb51.cc/android/312032.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。