How can I run a single instrumentation test with Gradle Android

后端 未结 4 1447
闹比i
闹比i 2020-12-28 13:06

I\'m trying to run the tests with this line... but this launches all tests:

./gradlew -DconnectedAndroidTest.single=LandingActivityTests connectedAndroidTest         


        
相关标签:
4条回答
  • 2020-12-28 13:30

    Since Android Gradle plugin version 1.3.0 you can use

    ./gradlew -Pandroid.testInstrumentationRunnerArguments.class=your.package.LandingActivityTests connectedAndroidTest
    
    0 讨论(0)
  • 2020-12-28 13:31

    Visit Testing
    Sadly, gradle connectedAndroidTest task is not supporting all the arguments.
    There is feature request for gradle team.
    If you are using Android Studio, you can create Run Configuration that launches specific test via adb shell am instrument

    0 讨论(0)
  • 2020-12-28 13:40

    you can run the single android test in two steps:

    1. ./gradlew installDebugAndroidTest
    2. adb shell am instrument -w -e class com.example.MyInstrumentationTest#testFoo com.example.test/android.support.test.runner.AndroidJUnitRunner
      https://developer.android.com/tools/testing/testing_otheride.html
    0 讨论(0)
  • 2020-12-28 13:52

    if you want to run just one test inside the class do something like

    ./gradlew -Pandroid.testInstrumentationRunnerArguments.class=my.app.package.register.RegisterEmailTest#can_register connectedAndroidTest
    

    can_register is a method in a class RegisterEmailTest

    NOTE: the package needs to reference where the class is otherwise it will not work.

    0 讨论(0)
提交回复
热议问题