 
 extension XCTestCase {
 
-    func expectFatalError(expectedMessage: String, testcase: @escaping () -> Void) {
+    func expectFatalError(
+        expectedMessage: String,
+        testcase: @escaping () -> Void,
+        file: StaticString = #filePath, line: UInt = #line
+    ) {
         let expectation = self.expectation(description: "expectingFatalError")
         var fatalErrorReceived = false
         var assertionMessage: String? = nil

        }

        waitForExpectations(timeout: 2) { _ in
            XCTAssert(!fatalErrorReceived, "fatalError was received")
            FatalErrorUtil.restoreFatalError()
        }
    }

        DispatchQueue.global(qos: .userInitiated).async(execute: testcase)

        waitForExpectations(timeout: 2) { _ in
            XCTAssert(fatalErrorReceived, "fatalError wasn't received", file: file, line: line)
            XCTAssertEqual(assertionMessage, expectedMessage, file: file, line: line)

            FatalErrorUtil.restoreFatalError()
        }
    }

    func expectNoFatalError(
        testcase: @escaping () -> Void,
        file: StaticString = #filePath, line: UInt = #line
    ) {
        let expectation = self.expectation(description: "expectingNoFatalError")
        var fatalErrorReceived = false

