Up to higher level directory | |||
Name | Date | Size | |
---|---|---|---|
Android.mk | 06-Dec-2017 | 3.5K | |
AndroidManifest.xml | 06-Dec-2017 | 1.5K | |
AndroidTest.xml | 06-Dec-2017 | 1.2K | |
assets/ | 06-Dec-2017 | ||
coverage.sh | 06-Dec-2017 | 1.9K | |
README.md | 06-Dec-2017 | 2.2K | |
runtests.sh | 06-Dec-2017 | 1.2K | |
src/ | 06-Dec-2017 |
1 # Wifi Unit Tests 2 This package contains unit tests for the android wifi service based on the 3 [Android Testing Support Library](http://developer.android.com/tools/testing-support-library/index.html). 4 The test cases are built using the [JUnit](http://junit.org/) and [Mockito](http://mockito.org/) 5 libraries. 6 7 ## Running Tests 8 The easiest way to run tests is simply run 9 10 ``` 11 frameworks/opt/net/wifi/tests/wifitests/runtests.sh 12 ``` 13 14 `runtests.sh` will build the test project and all of its dependencies and push the APK to the 15 connected device. It will then run the tests on the device. 16 17 See below for a few example of options to limit which tests are run. 18 See the 19 [AndroidJUnitRunner Documentation](https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html) 20 for more details on the supported options. 21 22 ``` 23 runtests.sh -e package com.android.server.wifi.util 24 runtests.sh -e class com.android.server.wifi.WifiStateMachineTest 25 ``` 26 27 If you manually build and push the test APK to the device you can run tests using 28 29 ``` 30 adb shell am instrument -w 'com.android.server.wifi.test/android.support.test.runner.AndroidJUnitRunner' 31 ``` 32 33 ## Adding Tests 34 Tests can be added by adding classes to the src directory. JUnit4 style test cases can 35 be written by simply annotating test methods with `org.junit.Test`. 36 37 ## Debugging Tests 38 If you are trying to debug why tests are not doing what you expected, you can add android log 39 statements and use logcat to view them. The beginning and end of every tests is automatically logged 40 with the tag `TestRunner`. 41 42 ## Code Coverage 43 If you would like to collect code coverage information you can run the `coverage.sh` script located 44 in this directory. It will rebuild parts of your tree with coverage enabled and then run the tests, 45 similar to runtests.sh. If you have multiple devices connected to your machine make sure to set the 46 `ANDROID_SERIAL` environment variable before running the script. You must supply an output directory 47 for results. By default the results are generated as a set of HTML pages. For example, you can use 48 the following from the root out your source tree to generate results in the wifi_coverage directory 49 50 ``` 51 frameworks/opt/net/wifi/tests/wifitests/coverage.sh wifi_coverage 52 ``` 53