C'è qualcosa in Scalatest che mi permetterà di testare l'output allo standard tramite una dichiarazione println
?Scalatest - come testare println
Finora ho utilizzato principalmente FunSuite with ShouldMatchers
.
ad es. come si fa a controllare l'output stampato della
object Hi {
def hello() {
println("hello world")
}
}
È necessario aggiungere "override" a MockOutput –
Mi piace molto questa soluzione, @Eric c'è un modo per farlo senza dover estendere "Output". Sento che "estendere" un tratto, in cui quel tratto non è necessario in primo luogo, è un hack. Avrebbe senso se il tratto fosse già necessario e abbiamo creato un impl di test. –
L'unico altro modo per evitare di estendere un tratto è fare ciò che Kevin o Matthieu consigliano. Detto questo, ho la filosofia che costruire il tuo software in modo che sia testabile è una buona decisione di progettazione. Quando persegui quel pensiero, vai fino all'introduzione di tratti per * tutte * le tue interazioni IO/sistemi esterni. – Eric