Files
app_Settings/tests/unit
Jeremy Goldman cfb194d605 ManageablePreferenceTest created for VpnSettings
Creating unit tests for VPN settings to increase the reliability of that
settings component.

Note that because S build is locked down but the T sdk has not been
started, the test suite was seeing the following error:

java.lang.IllegalArgumentException: Error: Failed to parse APK file: /data/local/tmp/SettingsUnitTests.apk: Requires development platform T but this is a release platform

In order to resolve this error, specifically set the SDK as android
S in the manifest. When the SDK transitions to android T, this may need
to be updated.

Test: atest -c tests/unit/src/com/android/settings/vpn2/ManageablePreferenceTest.java
Bug: 187245804
Change-Id: Ifa1450c23b1ade46809541252e22950b76b4faa5
2021-07-02 09:47:28 +08:00
..
2020-12-16 10:40:49 +00:00

The simplest way to run all SettingsUnitTests is with atest
$ atest SettingsUnitTests

A single class can also be tested with the following command
$ atest -c <YourClassName>

// The following instrutions show how to run the test suite using make + adb //

To build the tests you can use the following command at the root of your android source tree
$ make SettingsUnitTests

The test apk then needs to be installed onto your test device. The apk's location will vary
depending on your device model and architecture. At the end of the make command's output, there
should be a line similar to the following:
"Copy: out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk"
Install via the following command:
$ adb install -r out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk

To run all tests:
$ adb shell am instrument -w com.android.settings.tests.unit/androidx.test.runner.AndroidJUnitRunner

To run all tests in a specific class:
$ adb shell am instrument -w -e class com.android.settings.<class> com.android.settings.tests.unit/androidx.test.runner.AndroidJUnitRunner

To run a specific test:
$ adb shell am instrument -w -e class com.android.settings.<class>#<test> com.android.settings.tests.unit/androidx.test.runner.AndroidJUnitRunner

More general information can be found at
http://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html