2017/8/1追記
class func initialize()
がdepricatedになりそうなのでちゃんとしたやつ
テストBundleのInfo.plistに
<key>NSPrincipalClass</key>
<string>Bundle名.クラス名(ここでいうTestSetup)</string>
TestSetup.swift
class TestSetup:NSObject,XCTestObservation {
override init() {
super.init()
XCTestObservationCenter.shared().addTestObserver(self)
}
/// TestBundle開始時
func testBundleWillStart(_ testBundle: Bundle) {
}
/**
毎テストケース開始前
*/
func testCaseWillStart(_ testCase: XCTestCase) {
}
}
もっとすごい
import XCTest
// ゴニョゴニョクラス
class TestSetup: XCTestCase,XCTestObservation {
override class func initialize() {
let me = TestSetup()
let center = XCTestObservationCenter.sharedTestObservationCenter()
center.addTestObserver(me)
}
func testBundleWillStart(testBundle: NSBundle) {
//テスト開始前
}
func testBundleDidFinish(testBundle: NSBundle) {
// テスト終了後
}
func testSuiteWillStart(testSuite: XCTestSuite) {
// 各スイート開始前
}
func testSuiteDidFinish(testSuite: XCTestSuite) {
// 各スイート終了後
}
func testCaseWillStart(testCase: XCTestCase) {
// 各ケース開始前
}
func testCaseDidFinish(testCase: XCTestCase) {
// 各ケース終了後
}
}