File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed
Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,19 @@ class ViewControllerLeaksObserverTests: XCTestCase {
1818 continueAfterFailure = false
1919 }
2020
21+ override func tearDown( ) {
22+ super. tearDown ( )
23+ // Ensure swizzling is always cleaned up, even if test fails
24+ try ? ViewControllerSubscriber . shared. unsubscribeObservers ( )
25+ // Wait for queues to complete any pending work
26+ PerformanceMonitoring . queue. sync { }
27+ PerformanceMonitoring . consumerQueue. sync { }
28+ }
29+
2130 private func performLeakTest( expectLeak: Bool , viewControllerMaker: ( ) -> UIViewController ) throws {
31+ // Clean up any leftover swizzling from previous test failures
32+ try ? ViewControllerSubscriber . shared. unsubscribeObservers ( )
33+
2234 let receiver = ViewControllerLeaksReceiverStub ( )
2335 receiver. expectation = expectation ( description: " leak detected " )
2436 receiver. expectation? . isInverted = !expectLeak
Original file line number Diff line number Diff line change @@ -12,6 +12,21 @@ import XCTest
1212
1313class ViewControllerSubscriberTests : XCTestCase {
1414
15+ override func setUp( ) {
16+ super. setUp ( )
17+ // Clean up any leftover swizzling from previous test failures
18+ try ? ViewControllerSubscriber . shared. unsubscribeObservers ( )
19+ }
20+
21+ override func tearDown( ) {
22+ super. tearDown ( )
23+ // Ensure swizzling is always cleaned up, even if test fails
24+ try ? ViewControllerSubscriber . shared. unsubscribeObservers ( )
25+ // Wait for queues to complete any pending work
26+ PerformanceMonitoring . queue. sync { }
27+ PerformanceMonitoring . consumerQueue. sync { }
28+ }
29+
1530 func testAllMethodsAreCalled( ) throws {
1631 let o = Observer ( )
1732 try ViewControllerSubscriber . shared. subscribeObserver ( o)
You can’t perform that action at this time.
0 commit comments