Domanda

Abbiamo giocato con il nuovo progetto di test Nunit Monotouch, che è abbastanza bello.

Molti di questi test abbiamo già eseguito su Windows nel software CI e stampiamo molte cose sulla console per vedere cosa è andato storto durante i test.

Se costruiamo ed eseguiamo questi test per MonoTouch e visualizziamo la console nell'organizzatore di Xcode, sembrano piuttosto brutti:

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

C'è un modo per pulire questo output in iOS? Sarebbe bello almeno sostituire "sconosciuto" con qualcosa di più significativo, o rimuoverlo e Uikitapplication del tutto.

Inoltre, non ci importa di chiamare in qualche modo NSLog invece di Console.WriteLine Se risolverà questo.

È stato utile?

Soluzione

Penso che il modo più semplice, che non richiederebbe modifiche ai tuoi test esistenti, sia:

  • Utilizzare il opzionale Logger di rete. Ciò invierà tutti i risultati del test a un server socket, separandoli da altri registri provenienti da dispositivi iOS; e

  • Chiamata Console.SetOut insieme a TouchRunner.Writer come parametro (in appdelegate.cs). Questo dovrebbe (non testato in questo momento ;-) Registra ogni scrittura esistente che hai alla console nel logger di rete.

Altri suggerimenti

Per quanto ne so, non c'è modo di modificare ciò che è scritto sulla console di Xcode, poiché le cose all'inizio di ogni riga sono scritte automaticamente dal sistema.

Puoi fare un po 'di magia in un terminale con mtouch, grep e sed: però:

/Developer/MonoTouch/usr/bin/mtouch --logdev | grep com.yourcompany.yourapp | sed 's/.*<.*>: //' 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top