2016-04-04 2 views
5

Я использую UITest для тестирования объектного приложения C, используя быстрый для тестов.Возможно, предотвратить XCode от вызывающего отладчика после вызова `XCUIApplication(). Terminate()`

XCode 7,3, сим 9,3

Каждый тестовый случай вызывает XCUIApplication.launch(), который убивает любого запущенного приложения, отправив SIGKILL.

Xcode рассматривает это как сбой - вызывая отладчик на main.m. Чтобы продолжить работу с тестовым пакетом, просто нажмите кнопку «Продолжить» в отладчике.

После удара по-прежнему, мой журнал говорит:

Message from debugger: Terminated due to signal 9 

Эта ситуация расстраивает, потому что это происходит после того, как 1/4 моих тестов. Из-за того, что я теряю фокус на документе, который редактирую, и заставляю свой тестовый набор висеть, пока я не нажму.

Есть ли способ обойти это?

+0

Пока не прямое решение, вы всегда можете отключить точки останова с ^⌘Y или удалить/отключить контрольная точка исключения. –

+0

@JoeMasilotti Какую точку останова вы предлагаете удалить? Менеджер останова XCode (⌘7) показывает «Нет точек останова». Кажется, это «встроенное» поведение. Событие после отключения точек останова в системе, как вы предложили (⌘Y), я все равно выгружаюсь в свой отладчик так же часто, как перезапуск UITest. – mkirk

+0

Вы делаете tearDown() после тестового случая? – Che

ответ

4

Мы столкнулись с той же проблемой. После некоторой отладки выяснилось, что это вызвано тем, что для вашего приложения включено Background Modes.

Наше решение состояло в том, чтобы создать новую цель для разработки и тестирования, которая отключена всем Background Modes.

FYI, в разделе настроек вашего проекта это Background Modes, превратив это Off. Кроме того, вы можете удалить Require background modes (aka UIBackgroundModes) ключ от вашего Info.plist

+0

Это также исправляет утверждения в XCUIApplication(). Launch() «Ошибка тестирования пользовательского интерфейса - попытка сбоя запуска». – brigadir

0

Вы можете пойти для отладки и/или тестирования после завершения с помощью xCode. В меню:

  1. Debug
  2. Присоединить к процессу
  3. Выберите из Likely Targets или By Process Identifier (PID)
Смежные вопросы