-
Notifications
You must be signed in to change notification settings - Fork 233
Description
Proposal
Apple has provided a few different ways to run tests. Logic tests without an application, logic tests within an application, and a UI Test target. Currently Bluepill doesn't support tests without an app bundle path associated with them, actively erroring out when one isn't found. This proposal is to add the ability to run logic tests without an associated application to Bluepill.
Benefits
There are 2 main benefits for allowing non-app hosted tests.
Faster Signal
Tests that run without an application start more quickly and run on a much smaller process compared to an app, usually the xctest process. This allows them to run before a simulator is fully booted (aka when the simulator hits the home screen) and doesn't require a full app install. Fully booting and installing these apps can take a large portion of time and aren't needed when performing tests outside the application context. Removing this need to be hosted will allow them to finish much quicker.
Booting and installing an application uses lot of resources on the accompanying machine (CPU and memory) slowing down other simulators that are running simultaneously. This could also alleviate some of that burden.
One thing to note, on a small scale this faster signal doesn't have a huge impact but as you grow your codebase to many hours and/or many modules worth of tests this can be a significant boost
Single Test Execution Path
While I understand Bluepill was originally intended to be used for UI tests this creates a bifurcation of how tests are done and information about those tests are gathered. One for app hosted tests and one for non-hosted tests. Adding the ability to run non-hosted tests allows for developers to have a single way to run and gather information about their tests.