Whenever you don't want to run tests from Xcode, for whatever reason, you have to resort to
While being a fine piece of software, it's really hard to get all its arguments just right
when you want to do something simple.
This is why we think we can do better - just by running
tuist test we will run all test targets in your app.
But not only that, we will automatically choose the right device for you - preferring the device you have already booted
or choosing one with the correct iOS version and boot it for you. Easy!
Tuist also automatically caches successful test runs - this means that the subsequent
tuist test calls will
test only what has changed! You will see which test targets are skipped in the log.
This is extremely useful especially on CI - if you make a simple change in a module that other targets
do not depend on, CI can test only this module and nothing else.
As we said, we strive for the test command being really simple - but it should be powerful enough to be useful for all your test-related wishes. Let's see it in more detail below.
Test the project in the current directory
Test a specific scheme
tuist test MyScheme
Test on a specific device and OS version
tuist test --device "iPhone X" --os 14.0
One of the benefits of using Tuist over other automation tools is that developers can get familiar with a set of commands that they can use in any Tuist project.