Как я могу утверждать, что функция не throw
ошибка в Swift
? В Objective C
есть макрос XCUnit
для этого случая, но я не могу найти его в Swift
.Проверьте, что функция не выдает ошибку
ответ
Для этого нет конкретной функции XCTest, но ее тестирование довольно просто. Просто напишите свою собственную установку do
/try
/catch
что XCTFail
s, когда выдается ошибка, так как на форумах разработчиков ссылаются на @ комментарий JAL в:
// generalized to a function
func AssertNoError(message: String = "", file: String = #file, line: UInt = #line, _ block:() throws ->()) {
do {
try block()
} catch {
let msg = (message == "") ? "Tested block threw unexpected error." : message
XCTFail(msg, file: file, line: line)
}
}
// in use
AssertNoError(someVoidToVoidFunc)
AssertNoError("reason", { someFuncThatTakes(parameters) })
Как примечание, в Swift 3 '_FILE_' был изменен на' # file', а '_LINE_' был изменен на' #line ' –
Yup. Кажется, все дети в хэштаги в эти дни. – rickster
Along ответ стороне @ rickster, в если вы используете Nimble Искателя , который я очень рекомендую, вы можете написать ожидания, как:
expect{ try somethingThatThrows() }.to(throwError())
expect{ try somethingThatShouldNotThrow() }.toNot(throwError())
- 1. Почему эта функция Theano.scan не выдает ошибку?
- 2. Функция wordpress remove_menu_page() выдает ошибку
- 3. Почему функция даты не выдает мне ошибку?
- 4. ROUNDDOWN функция выдает ошибку «аргумент не опциональный»
- 5. Почему эта функция выдает ошибку?
- 6. GCDAsyncSocket не выдает ошибку
- 7. функция tolower пакета corpus выдает ошибку
- 8. Проверьте, что функция называется
- 9. Функция libVLC media_player_new() выдает ошибку сегментации
- 10. SQL выдает ошибку
- 11. php фильтрует строку, так что json_encode не выдает ошибку
- 12. JavaScript - Функция не выдает ошибку, когда ошибка вызывает другую функцию
- 13. Почему window.something не выдает ошибку?
- 14. Команда ODBC не выдает ошибку
- 15. MySQL выдает ошибку Функция IF в хранимой процедуре
- 16. Android AVD выдает ошибку, что HAXM не установлен
- 17. Дизайнер выдает ошибку!
- 18. array_push() выдает ошибку
- 19. Rails сервер выдает ошибку
- 20. Почему getSafeHTML() выдает ошибку?
- 21. Map.erase() выдает ошибку, почему?
- 22. dbContext.SaveChanges() не сохраняет и не выдает ошибку
- 23. ViewPager выдает ошибку памяти
- 24. SSIS Logging выдает ошибку
- 25. Расписание задачи выдает ошибку
- 26. Python выдает ошибку атрибутов
- 27. Deserialize XML выдает ошибку
- 28. типизации установки выдает ошибку
- 29. Почему IsInRole выдает ошибку?
- 30. Почему socket.setNoDelay() выдает ошибку?
Связанный: https://forums.developer.apple.com/thread/5824 – JAL
Проверьте эту быструю библиотеку тестирования: https: // GitHub .com/Quick/Nimble You может делать что-то вроде 'expect {try somethingThatThrows()} .to (throwError())' – prolfe