排除Gradle @LargeTest

时间:2016-07-25 16:10:14

标签: android unit-testing

我正在尝试从Android Studio中的集成测试中的UI测试中的单独任务上运行单元测试,不幸的是我必须使用

apply plugin: 'com.android.application'
在build.gradle文件中

,所以我无法添加自定义测试任务。由于UI测试被标记为" @ Test"并扩展InstrumentationTestCase,只要

,它们就会运行
gradle connectedCheck
调用

是不需要的,相反,我想要一个gradle命令来运行UI测试,一个运行单元测试。我认为我可以利用将UI测试标记为LargeTests,但却无法完成可以执行此操作的gradle任务。我无法使用"测试" build.gradle中的任务,因为我们正在使用com.android.application插件和建议?

由于

2 个答案:

答案 0 :(得分:1)

最终为我工作的是添加

import android.support.test.filters.LargeTest;
使用

if(!project.hasProperty('android.testInstrumentationRunnerArguments.annotation')) {
        testInstrumentationRunnerArgument 'notAnnotation', 'android.support.test.filters.LargeTest'
    }

我需要的测试的注释,然后将以下行添加到build.gradle

gradle cAT -Pandroid.testInstrumentationRunnerArguments.annotation=android.support.test.filters.LargeTest

这种方式除非我在命令行中指定运行大型测试,否则将被忽略。要运行大型测试,请使用:

<?php  
echo '<p>Data Processed</p>';
?>

答案 1 :(得分:1)

您可以从命令行执行此操作,而无需修改build.gradle文件:

./gradlew cAT -Pandroid.testInstrumentationRunnerArguments.notAnnotation=android.test.suitebuilder.annotation.LargeTest