2013-05-13 3 views
5

Я пишу UnitTests (без интеграционных тестов с устройством и т. Д.) Для monotouch и monodroid в студии xamarin с NUnit.активировать выход каротажа в студии xamarin

Это отлично работает, кроме проблемы, что я не вижу выхода журнала, созданного Debug.WriteLine.

Кто-нибудь знает, как активировать его в студии xamarin?

Thx!

+0

Я также хотел бы знать, как получить точки останова, работающие также. –

+1

@BenBishop Думаю, я могу вам помочь. Просто щелкните правой кнопкой мыши в своем тестовом окне «Студия блока xamarin» в тесте и выберите «Run Tests With» -> «Mono Soft Debuger». Не лучший способ, но он работает. –

ответ

2

Кто-то опубликовал этот ответ, но удалил его по любой причине. Я перенаправляю его ради процветания ...

Debug.WriteLine, похоже, не работает в Xamarin Studio, но Console.WriteLine делает. Имея это в виду, вы можете сделать следующее:

#if __ANDROID__ || __IOS__ 
    Debug.WriteLine("My trace statement"); 
#else 
    Console.WriteLine("My trace statement"); 
#end if 
+0

на android, Debug.WriteLine не пригодился для меня (журналы не будут сохранены на устройстве). Я использую там что-то вроде этого: «Android.Util.Log.Debug (« win4youthApp », formatedMessageWithLevel);' –

+0

Я также добавлю, что вы можете использовать 'DepencyService' и' Interface' в проекте 'PCL' для отправки текста к операторам Console.WriteLine на каждой платформе. – hvaughan3

1

Добавьте это в единичном Тестовое

ConsoleTraceListener c = new ConsoleTraceListener (true); 
Trace.Listeners.Add (c); 

Debug.Trace() будут писать сообщения, но вам нужно выше слушателя, чтобы получить эти сообщения и отправлять их на консоль.

Выход отображается в результатах теста, на панели вывода

+0

Thx dale, это отличное решение! Даже проще, чем принятый. –