2013-08-05 2 views
6

Con il junit-interface corridore, c'era questa opzione a portata di mano:Come mostrare solo stdout di un test ScalaTest se non riesce

-q Consente di sopprimere stdout per i test di successo. Stderr viene stampato normalmente nella console . Lo stdout viene scritto su un buffer e scartato quando un test ha esito positivo. Se fallisce, il buffer viene scaricato nella console. Dal momento che stdio il reindirizzamento in Java è un cattivo kludge (System.setOut() modifica il campo statico , System.out tramite codice nativo), questo potrebbe non funzionare per tutti gli scenari . Scala ha la sua console con una funzione di ridondanza sana. Se viene rilevato Scala sul percorso della classe, junit-interface tenta di reindirizzare lo stdout di scala.Console anche allo scala.

Mi chiedevo se esistesse un modo semplice per rendere scalatest la stessa cosa. Posso provare a reindirizzare l'output da solo, ma preferirei usare qualcosa di standard se possibile.

+0

Forse non è esattamente quello che vuoi, ma Dai un'occhiata alla mia risposta http://stackoverflow.com/questions/21806312/how-to-configure-sbt-test-scalatest-to -only-show-failure – goozez

+0

Utilizziamo Maven. Qualche soluzione di prova (non sbt) disponibile? – javadba

risposta

0

Secondo questa info sul sito ScalaTest, è possibile impostare alcune bandiere per sopprimere alcuni messaggi:

Se si aggiunge una linea come questa nel vostro build.sbt, il vostro registratore non mostrerà le prove di successo nel stdout :

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oN")