| # Automated testing for Chrome for iOS |
| |
| See the [instructions] for how to check out and build Chromium for iOS. |
| |
| Automated testing is a crucial part of ensuring the quality of Chromium. |
| |
| ## Unit testing |
| |
| Unit testing is done via gtests. To run a unit test, simply run the test |
| target (ending in _unittest). |
| |
| ## Integration testing |
| |
| [EarlGrey] is the integration testing framework used by Chromium for iOS. |
| |
| ### Running EarlGrey tests |
| |
| EarlGrey tests are based on Apple's [XCUITest]. |
| |
| #### Running tests from Xcode |
| |
| An entire suite of tests can be run from Xcode. |
| 1. Select the *egtest target you wish to run. |
| 2. ⌘+U to run all the tests. Note: ⌘+R, which is normally used to run an |
| application, will simply launch the app under test, but will not run the |
| XCTests. |
| |
| A subset of tests can be run by selecting the test or test case from the |
| XCTest navigator on the left side of the screen. |
| |
| #### Running from the command-line |
| |
| When running from the command-line, it is required to pass in the *.xctest |
| target, in addition to the test application. |
| Example: |
| ``` |
| ./out/Debug-iphonesimulator/iossim -d "iPad Retina" -s 8.1 \ |
| out/Debug-iphonesimulator/ios_chrome_integration_egtests.app \ |
| out/Debug-iphonesimulator/ios_chrome_integration_egtests_module.xctest |
| ``` |
| |
| |
| [EarlGrey]: https://github.com/google/EarlGrey |
| [instructions]: ./build_instructions.md |
| [XCUITest]: https://developer.apple.com/documentation/xctest |