2015-04-22 3 views
1

Использование: Android Studio 1.1.0; Gradle (встроенный)Почему тесты не запускаются с использованием этого сценария градации

Я пытаюсь создать модульные тесты и запустить их. Я создал пример проекта (сделка с калькулятором) с некоторыми тестами. Провели тесты из IDE, и они работали правильно. Я попытался сделать то же самое с консоли, потому что конечная цель - запустить их на сервере интеграции, но тесты не выполняются. Почему тесты не запускаются с консоли? У этого сценария градиента есть ошибки?

Извините за длинный пост. Лучше давать избыточные данные, чем меньше. Я всего один день в градле. И да, задача jacoco состоит в том, что я хочу охватить следующий. На данный момент я вижу пустые отчеты, потому что тесты не работают.

build.gradle

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.1.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

apply plugin: 'java' 
apply plugin: 'jacoco' 

test { 
    testLogging { 
     events 'started', 'passed' 
    } 
} 

jacocoTestReport { 
    reports { 
     xml.enabled false 
     csv.enabled false 
     html.destination "${buildDir}/reports" 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Я использую эту команду, чтобы запустить тест

./gradlew test 

Это отчет я

:compileJava UP-TO-DATE 
:processResources UP-TO-DATE 
:classes UP-TO-DATE 
:compileTestJava UP-TO-DATE 
:processTestResources UP-TO-DATE 
:testClasses UP-TO-DATE 
:test UP-TO-DATE 
:app:preBuild UP-TO-DATE 
:app:preDebugBuild UP-TO-DATE 
:app:checkDebugManifest 
:app:preReleaseBuild UP-TO-DATE 
:app:prepareComAndroidSupportAppcompatV72200Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE 
:app:prepareDebugDependencies 
:app:compileDebugAidl UP-TO-DATE 
:app:compileDebugRenderscript UP-TO-DATE 
:app:generateDebugBuildConfig UP-TO-DATE 
:app:generateDebugAssets UP-TO-DATE 
:app:mergeDebugAssets UP-TO-DATE 
:app:generateDebugResValues UP-TO-DATE 
:app:generateDebugResources UP-TO-DATE 
:app:mergeDebugResources UP-TO-DATE 
:app:processDebugManifest UP-TO-DATE 
:app:processDebugResources UP-TO-DATE 
:app:generateDebugSources UP-TO-DATE 
:app:compileDebugJava UP-TO-DATE 
:app:preCompileDebugUnitTestJava 
:app:compileDebugUnitTestJava UP-TO-DATE 
:app:compileDebugUnitTestSources UP-TO-DATE 
:app:mockableAndroidJar UP-TO-DATE 
:app:assembleDebugUnitTest UP-TO-DATE 
:app:testDebug UP-TO-DATE 
:app:checkReleaseManifest 
:app:prepareReleaseDependencies 
:app:compileReleaseAidl UP-TO-DATE 
:app:compileReleaseRenderscript UP-TO-DATE 
:app:generateReleaseBuildConfig UP-TO-DATE 
:app:generateReleaseAssets UP-TO-DATE 
:app:mergeReleaseAssets UP-TO-DATE 
:app:generateReleaseResValues UP-TO-DATE 
:app:generateReleaseResources UP-TO-DATE 
:app:mergeReleaseResources UP-TO-DATE 
:app:processReleaseManifest UP-TO-DATE 
:app:processReleaseResources UP-TO-DATE 
:app:generateReleaseSources UP-TO-DATE 
:app:compileReleaseJava UP-TO-DATE 
:app:preCompileReleaseUnitTestJava 
:app:compileReleaseUnitTestJava UP-TO-DATE 
:app:compileReleaseUnitTestSources UP-TO-DATE 
:app:assembleReleaseUnitTest UP-TO-DATE 
:app:testRelease UP-TO-DATE 
:app:test UP-TO-DATE 

BUILD SUCCESSFUL 

Total time: 10.288 secs 

ответ

0

:<module>:test UP-TO-DATE потому, что не было никаких изменений на входах/выходах вашего проекта, чтобы вызвать восстановление.

Если вы хотите принудительно выполнить тестовый прогон, вы можете выполнить результаты тестирования перед запуском тестов. clean<Task> - это специальная задача, которая очищает вывод задачи.

./gradlew cleanTest test

Есть и другие варианты, если вы хотите, тесты на всегда бег, вы можете заставить их никогда не будет UP TO DATE путем изменения конфигурации выполнения задачи. В вашем файле build.gradle попробуйте:

test { 
    outputs.upToDateWhen { false } 
} 
+0

спасибо за ваши входы, но добавление параметра «cleanTest» не сработало. Ситуация по-прежнему та же, что и раньше. Я также обновил задачу build.gradle тем, что вы упомянули, перестроил и выполнил тестовую задачу, но тесты все еще не выполняются. –

+0

Где ваши тесты определены? – loosebazooka

+0

, возможно, вам нужно очистить выходные данные от 'testRelease' и' testDebug', поскольку они являются фактическими задачами тестирования: http://tools.android.com/tech-docs/unit-testing-support – loosebazooka

Смежные вопросы