1# Wifi Unit Tests
2This 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).
4The test cases are built using the [JUnit](http://junit.org/) and [Mockito](http://mockito.org/)
5libraries.
6
7## Running Tests
8The easiest way to run tests is simply run
9
10```
11atest com.android.server.wifi
12```
13
14## Adding Tests
15Tests can be added by adding classes to the src directory. JUnit4 style test cases can
16be written by simply annotating test methods with `org.junit.Test`.
17
18## Debugging Tests
19If you are trying to debug why tests are not doing what you expected, you can add android log
20statements and use logcat to view them. The beginning and end of every tests is automatically logged
21with the tag `TestRunner`.
22
23## Code Coverage
24If you would like to collect code coverage information you can run the `coverage.sh` script located
25in this directory. It will rebuild parts of your tree with coverage enabled and then run the tests,
26similar to runtests.sh. If you have multiple devices connected to your machine make sure to set the
27`ANDROID_SERIAL` environment variable before running the script. You must supply an output directory
28for results. By default the results are generated as a set of HTML pages. For example, you can use
29the following from the root out your source tree to generate results in the wifi_coverage directory
30
31```
32frameworks/opt/net/wifi/tests/wifitests/coverage.sh wifi_coverage
33```
34