blob: 557fb6e29b1548e41dd11193fc601168e6e10aee [file] [log] [blame] [view] [edit]
# iOS Unit Tests
These are the unit tests for iOS engine. They can be executed locally and are
also run in LUCI builds.
## Running Tests
To build and run the iOS tests, run the following script from the src directory:
```sh
flutter/testing/run_tests.py --type=objc
```
After the `ios_test_flutter` target is built you can also run the tests inside
of Xcode with `testing/ios/IosUnitTests/IosUnitTests.xcodeproj`.
When you load the test project [IosUnitTests.xcodeproj](IosUnitTests.xcodeproj)
into Xcode after running `run_tests.py`, only a few basic tests will appear
initially. You have to run the test suite once in Xcode for the rest to appear.
Select "iPhone 11" as the device, and press `command-u` to start all the tests
running. Once the tests are done running, the tests that ran will appear in the
sidebar, and you can pick the specific one you want to debug/run.
If you modify the test or under-test files, you'll have to run
[`run_tests.py`](../../run_tests.py) again.
## Adding Tests
When you add a new unit test file, also add a reference to that file in
[`shell/platform/darwin/ios/BUILD.gn`](../../../shell/platform/darwin/ios/BUILD.gn),
under the `sources` list of the `ios_test_flutter` target. Once it's there, it
will execute with the other tests.