Xctassertthrows останавливается на точке останова

StackOverflow https://stackoverflow.com//questions/22020527

  •  21-12-2019
  •  | 
  •  

Вопрос

Я пишу метод теста, где я хочу, чтобы Sut выбросил исключение, когда при определенных условиях.Код выглядит так:

- (void) testCantStartTwice
{
    XCTAssertThrows([self.sut start], @"");
}
.

Теперь все хорошо, и тестовые проходит.Тем не менее, у меня XCODE устанавливает точку останова исключений для всех исключений OBJC, что довольно полезно при тестировании приложения в отладчике.Как вы сейчас, теперь, когда я выполняю свой тестовый люкс с ⌘u, теперь он останавливается в этом тесте и выглядит как если он не может, даже если он говорит «тест преуспел».

Любой способ сделать точку останова не останавливаться на этом тесте?

Спасибо и все самое лучшее

Это было полезно?

Решение

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

  1. Установите точку останова отказа от неудачи, которая позволит вам проверить условия, вызванные отказа.
  2. При необходимости установите ручную точку останова в предыдущем тесте и Rerun, чтобы вы могли пройти операторы, ведущие к отказу, как обычно.
  3. Это не совсем прямой ответ, но, насколько я знаю, я не думаю, что есть способ создавать исключения для точки обрыва исключения.Надеюсь, это поможет

Другие советы

У меня была та же проблема, и я искал решение в течение 2 часов.Вероятно, мы ничего не можем сделать с этим.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top