idb/XCTestBootstrap
Lawrence Lomax f5b3f2d6a5 Move Framework configuration to xcconfig
Summary: This slipped through the net in the `xcconfig` move. Should help compare settings between the four main Frameworks

Reviewed By: marekcirkos

Differential Revision: D3391969

fbshipit-source-id: 3e3f540d0d899925a8211a64bcae98c6412e54e0
2016-06-06 04:49:12 -07:00
..
Bundles Tidy documentation, project, indentation 2016-04-27 07:55:25 -07:00
Categories Tidy documentation, project, indentation 2016-04-27 07:55:25 -07:00
DeviceHandling Add FBApplicationCommands 2016-05-16 09:49:06 -07:00
Strategies Pass down FBTestManagerTestReporter 2016-05-06 07:05:25 -07:00
TestManager Update Copyright notices 2016-05-26 02:36:57 -07:00
Utility Rename to XCTestBootstrapFrameworkLoader 2016-05-17 08:13:48 -07:00
README.md Add README for XCTestBootstrap 2016-04-05 01:55:18 -07:00
XCTestBootstrap-Info.plist Extracted XCTestBootstrap 2016-03-14 09:10:29 -07:00
XCTestBootstrap.h Rename to XCTestBootstrapFrameworkLoader 2016-05-17 08:13:48 -07:00
XCTestBootstrap.xcconfig Move Framework configuration to xcconfig 2016-06-06 04:49:12 -07:00

README.md

XCTestBootstrap

A Mac OS X library for launching XCTest & XCUITest and managing connection with testmanager daemon.

Features

  • Prepares XCTest bundle.
  • Launches application and injects XCTest bundle.
  • Opens and manages connection with testmanager daemon during the test.
  • It works with iOS simulator & device tests.
  • It works with Mac OSX tests.

Usage

In order to use XCTestBootstrap you need to provide class that implements <FBDeviceOperator> supplying basic device instructions like install application, launch application etc.

A good example is FBSimulatorControlOperator and FBSimulatorInteraction+XCTest\


  FBSimulatorTestPreparationStrategy *testPrepareStrategy =
  [FBSimulatorTestPreparationStrategy strategyWithTestRunnerBundleID:configuration.bundleID
                                                    testBundlePath:testBundlePath
                                                  workingDirectory:workingDirectory
                                                  ];
  FBSimulatorControlOperator *operator = [FBSimulatorControlOperator operatorWithSimulator:self.simulator];
  FBXCTestRunStrategy *testRunStrategy = [FBXCTestRunStrategy strategyWithDeviceOperator:operator testPrepareStrategy:testPrepareStrategy logger:simulator.logger];
  NSError *innerError = nil;
  FBTestManager *testManager = [testRunStrategy startTestManagerWithAttributes:configuration.arguments environment:configuration.environment error:&innerError];

FBTestManager needs to be kept alive in order to keep test running.

Contributing

See the CONTRIBUTING file for how to help out. There's plenty to work on the issues!

License

XCTestBootstrap is BSD-licensed. We also provide an additional patent grant.