2012-02-20 5 views
1

Мы играли с новым тестовым проектом MonoTouch NUnit, что довольно приятно.MonoTouch - лучший выход консоли в организаторе XCode

Некоторые из этих тестов мы уже запускаем на Windows в программном обеспечении CI, и мы печатаем много вещей на консоли, чтобы увидеть, что пошло не так во время тестов.

Если мы строим и запустить эти тесты для MonoTouch, а также просматривать консоль органайзера XCode в они выглядят довольно уродливы:

Feb 20 10:34:57 unknown UIKitApplication:com.ourcompany.ourapp[0xab78][8329] <Notice>: [Our usually pretty rainbows and unicorn console output here] 

Есть ли способ очистки этого выхода в прошивке? Было бы неплохо хотя бы заменить «неизвестное» чем-то более значимым или вообще удалить его и UIKitApplication.

Кроме того, мы не будем так или иначе называть NSLog вместо Console.WriteLine, если он исправит это.

ответ

2

Я думаю, что самый простой способ, который не требует изменений в существующих тестов, заключается в следующем:

  • Используйте опциональныйnetwork logger. Это отправит все результаты тестирования на сервер сокетов, отделяя их от других журналов, поступающих с устройств iOS; и

  • В качестве параметра (в приложении AppDelegate.cs) вызывается Console.SetOut с TouchRunner.Writer. Это должно (не протестировано прямо сейчас ;-) регистрировать каждую существующую запись, которую вы имеете на консоли, в сетевой регистратор.

+0

Есть не способ изменить то, что написано в консоли XCode в? Важная информация, которая нам нужна, может легко пройти через другой метод, чем «Console.WriteLine», если это необходимо. Сетевой регистратор является альтернативой OK, но я думаю, что некоторые из наших тестировщиков QA будут иметь проблемы с настройкой (они не являются кодовыми). Было бы проще, если бы я просто мог открыть открытый XCode и посмотреть на ошибку в консоли. – jonathanpeppers

+0

Возможно, я никогда не смотрел консоль Xcode. OTOH Rolf добавил (мне все еще нужно об этом блог) гораздо лучше поддерживать автоматизацию тестирования в Touch.Unit. Это может позволить вам сценарий выполнения намного легче (включая настройки сервера). Я сделаю все возможное, чтобы задокументировать это как можно скорее, но вы можете оставить вопрос без ответа, если кто-то еще сможет предоставить решение на основе Xcode (я был бы счастлив узнать его сам ;-) – poupou

1

Насколько я знаю, нет никакого способа, чтобы изменить то, что написано в консоли Xcode, так как материал, в начале каждой строки записывается системой автоматически.

Вы можете сделать некоторые магии в терминале с mtouch, Grep и СЭД, хотя:

/Developer/MonoTouch/usr/bin/mtouch --logdev | grep com.yourcompany.yourapp | sed 's/.*<.*>: //' 
Смежные вопросы