@@ -43,6 +43,21 @@ XCTestTestSuite.test("exceptions") {
43
43
dynamic func test_raises( ) {
44
44
NSException ( name: NSExceptionName ( rawValue: " XCTestTestSuiteException " ) , reason: nil , userInfo: nil ) . raise ( )
45
45
}
46
+
47
+ func test_raisesDuringAssertion( ) {
48
+ let exception = NSException ( name: NSExceptionName ( rawValue: " XCTestTestSuiteException " ) , reason: nil , userInfo: nil )
49
+ XCTAssertNoThrow ( exception. raise ( ) )
50
+ }
51
+
52
+ func test_continueAfterFailureWithAssertions( ) {
53
+ self . continueAfterFailure = false
54
+ func triggerFailure( ) { XCTFail ( " I'm outta here! " ) }
55
+
56
+ XCTAssertNoThrow ( triggerFailure ( ) )
57
+
58
+ // Should not be reached:
59
+ NSException ( name: NSExceptionName ( rawValue: " XCTestTestSuiteException " ) , reason: nil , userInfo: nil ) . raise ( )
60
+ }
46
61
}
47
62
48
63
let testCase = ExceptionTestCase ( selector: #selector( ExceptionTestCase . test_raises) )
@@ -55,6 +70,20 @@ XCTestTestSuite.test("exceptions") {
55
70
expectEqual ( 1 , testRun. unexpectedExceptionCount)
56
71
expectEqual ( 1 , testRun. totalFailureCount)
57
72
expectFalse ( testRun. hasSucceeded)
73
+
74
+ let assertionTestCase = ExceptionTestCase ( selector: #selector( ExceptionTestCase . test_raisesDuringAssertion) )
75
+ execute ( assertionTestCase. run)
76
+ let assertionTestRun = assertionTestCase. testRun!
77
+ expectEqual ( 1 , assertionTestRun. executionCount)
78
+ expectEqual ( 0 , assertionTestRun. failureCount)
79
+ expectEqual ( 1 , assertionTestRun. unexpectedExceptionCount)
80
+
81
+ let continueAfterFailureTestCase = ExceptionTestCase ( selector: #selector( ExceptionTestCase . test_continueAfterFailureWithAssertions) )
82
+ execute ( continueAfterFailureTestCase. run)
83
+ let continueAfterFailureTestRun = continueAfterFailureTestCase. testRun!
84
+ expectEqual ( 1 , continueAfterFailureTestRun. executionCount)
85
+ expectEqual ( 1 , continueAfterFailureTestRun. failureCount)
86
+ expectEqual ( 0 , continueAfterFailureTestRun. unexpectedExceptionCount)
58
87
}
59
88
60
89
XCTestTestSuite . test ( " XCTAssertEqual/T " ) {
0 commit comments