2012-02-20 7 views
1

新しいMonoTouch NUnitテストプロジェクトで遊んできました。MonoTouch - XCodeのオーガナイザでのコンソール出力の向上

これらのテストのいくつかは、すでにCIソフトウェアでWindows上で実行されており、テスト中に何が問題になったのかをコンソールで確認しています。

我々はビルドして実行MonoTouchでのためにこれらのテストを、彼らはかなり醜いのXCodeの主催でコンソールを表示する場合:

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

クリーンアップへの道は、iOSで、この出力はありますか?少なくとも "未知"をより意味のあるものに置き換えるか、それとUIKitApplicationを完全に削除することは良いことです。

また、この問題を解決するにはConsole.WriteLineの代わりにNSLogと電話しても構いません。

答えて

2

私はあなたの既存のテストへの変更を必要としない最も簡単な方法は、にあると思う:

  • オプションnetwork loggerを使用してください。これは、すべてのテスト結果をソケットサーバーに送信し、iOSデバイスからの他のログからそれらを分離します。

  • TouchRunner.Writerを(AppDelegate.csの)パラメータとしてConsole.SetOutと呼んでください。これは(今はテストされていません;-)コンソールに持っているすべての既存の書き込みをネットワークロガーに記録します。

+0

はXCodeののコンソールに書かれているものを修正する方法はありませんか?私たちが必要とする重要な情報は、必要に応じて 'Console.WriteLine'以外の方法で簡単に処理できます。ネットワークロガーはOKですが、私たちのQAテスターの中には、それを設定するのに問題があると思います(彼らはコーダーではありません)。 XCodeを開いてコンソールでエラーを調べるだけで簡単にできます。 – jonathanpeppers

+0

おそらく、私はXcodeのコンソールを見たことはありません。 OTOH Rolf氏は、Touch.Unitのテスト実行を自動化するためのサポートがはるかに優れていることを付け加えました。これにより、実行をより簡単にスクリプト化することができます(サーバー設定を含む)。私はこれをできるだけ早く文書化するために全力を尽くすつもりですが、他の誰かがXcodeベースのソリューションを提供できるかどうか質問に答えさせることができます(私は自分自身でそれを学ぶことを嬉しく思っています;-) – poupou

1

私が知る限り、Xcodeのコンソールに書き込まれたものを変更する方法はありません。各行の先頭のものはシステムによって自動的に書き込まれるからです。

あなたはかかわらのmTouch、グレップとSEDと端末内にいくつかの魔法を行うことができます。

/Developer/MonoTouch/usr/bin/mtouch --logdev | grep com.yourcompany.yourapp | sed 's/.*<.*>: //' 
関連する問題