66 * [ Exceptions and ANRs export] ( #exceptions-and-anrs-export )
77* [ Thread management] ( #thread-management )
88* [ Configuration] ( #configuration )
9+ * [ Testing] ( #testing )
910
1011# Storage
1112
@@ -118,6 +119,9 @@ sensitive information from being sent or modifying the behavior of the SDK.
118119Any configuration change made to ` MeasureConfig ` is a public API change and must also result in
119120updating the documentation.
120121
122+ See [ README] ( ../../docs/android/configuration-options.md ) for more details about the
123+ available configurations.
124+
121125## Applying configs
122126
123127Configs which modify events, like removing fields or decision to drop events are all centralized in
@@ -129,10 +133,32 @@ changes
129133the color of the mask applied to the screenshot. These configs are applied at the time of collection
130134itself.
131135
132- ## Remote config
136+ # Testing
137+
138+ The SDK is tested using both unit tests and integration tests. Certain unit tests which require
139+ Android framework classes are run using Robolectric. The integration tests are run using Espresso
140+ and UI Automator.
141+
142+ To run unit tests, use the following command:
143+ ``` shell
144+ ./gradlew :measure:test
145+ ```
146+
147+ To run integration tests (requires a device), use the following command:
148+ ``` shell
149+ ./gradlew :measure:connectedAndroidTest
150+ ```
151+
152+ The _ Measure gradle plugin_ also contains both unit tests and functional tests. The functional tests
153+ are run using the [ testkit by autonomous apps] ( https://github.com/autonomousapps/dependency-analysis-gradle-plugin/tree/main/testkit )
154+ and use JUnit5 for testing as it provides an easy way to run parameterized tests.
133155
134- Although not implemented yet, the config is expected to be modified from the dashboard, and the
135- changes should be reflected in the SDK. Config received from the server is also expected to be
136- persisted and used for subsequent initializations. Once implemented, the config passed in during
137- initialization will be overridden by the config received from the server. During initialization, the
138- the persisted config will be used over the config passed in during initialization.
156+ TO run the unit tests, use the following command:
157+ ``` shell
158+ ./gradlew :measure-gradle-plugin:test
159+ ```
160+
161+ To run the functional tests, use the following command:
162+ ``` shell
163+ ./gradlew :measure-gradle-plugin:functionalTest
164+ ```
0 commit comments