blob: eeab38b269cd213acb9d409a058e4a434717f0bc [file] [log] [blame] [view]
# 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