我们一直在玩新的MonoTouch NUnit测试项目,非常好。
我们已经在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]
有没有办法在iOS中清除此输出?至少用更有意义的东西替换“未知”,或者完全删除它和UIKitApplication会很好。
此外,我们不介意以某种方式致电NSLog
而不是Console.WriteLine
,如果它能解决此问题。
答案 0 :(得分:2)
我认为最简单的方法是:不需要更改现有测试,是:
使用可选 network logger。这会将每个测试结果发送到套接字服务器,将它们与来自iOS设备的其他日志分开;以及
以Console.SetOut
作为参数调用TouchRunner.Writer
(在AppDelegate.cs中)。这应该(现在未经测试;-)将您对控制台的每个现有写入记录到网络记录器中。
答案 1 :(得分:1)
据我所知,没有办法修改写入Xcode控制台的内容,因为每行开头的内容都是由系统自动编写的。
你可以使用mtouch,grep和sed在终端中做一些魔术:
/Developer/MonoTouch/usr/bin/mtouch --logdev | grep com.yourcompany.yourapp | sed 's/.*<.*>: //'