Swift - отображать ошибки подтверждения, встроенные в Xcode, как ошибки XCTest? - PullRequest
0 голосов
/ 08 ноября 2018

Я хотел бы написать несколько пользовательских типов проверочных утверждений и сделать так, чтобы они отображались в Xcode, подобно тому, как отображаются ошибки XCTAssert ():

Есть ли способ для меня подключиться к Xcode и сделать это?

Я хочу, чтобы моя собственная функция подтверждения показала здесь свою ошибку точно так же:

enter image description here

Лучший ресурс, который я нашел на данный момент, это исходный код Apple XCTest , но я не смог понять, включает ли он даже логику, которая отвечает за отображение интерфейса ошибки.

1 Ответ

0 голосов
/ 08 ноября 2018

Самый простой способ - позвонить по номеру XCTFail() из своего пользовательского утверждения, но передать имя файла и номер строки сайта вызова. Например:

func verify(myThing: MyThing, file: StaticString = #file, line: UInt = #line) {
   // Do your verification. Then when you want to fail the test,
   XCTFail("Some message about \(myThing)", file: file, line: line)
}

На сайте вызовов вы позволите аргументам по умолчанию предоставить file и line. Так это будет выглядеть так:

verify(myThing: thing)

В Swift утверждения XCTest являются глобальными функциями. Это означает, что ваш помощник также может быть глобальной функцией, которая может использоваться всеми наборами тестов без подкласса XCTestCase.

...