Sto usando l'eccellente pacchetto testthat in R. Il mio problema è che non riesco a vedere alcun output dalla funzione message() nel codice che è testato quando si utilizza test_file. per esempio, dire che sono seguente codice in un file chiamato test_message.RR testthat pacchetto: Come posso vedere l'output da message() quando si usa test_file()
f <- function() {
message ("Message: Hello world")
cat ("Cat: Hello world\n")
return (1)
}
test_that ("message shows up", {
expect_equal(f(), 1)
})
corro file_prova come segue e ottenere l'output sotto
> test_file("test_message.R")
Cat: Hello world
.
Quindi io non sto vedendo il testo dal messaggio() .
Tuttavia, quando si esegue il codice sul proprio Io lo vedo:
> f()
Message: Hello world
Cat: Hello world
[1] 1
so che per impostazione predefinita, il messaggio() scrive su stderr e gatto scrive su stdout e sto indovinando che file_prova "intercetta" stderr per verificare il testo in avvisi ed errori. C'è un modo in cui posso configurare le cose così vedo il messaggio message() sulla console?
Posso chiedere perché si desidera vedere l'output del messaggio durante l'esecuzione dei test? – Dason
Metto le chiamate message() nel codice in primo luogo per registrare il progresso del codice. Mi piacerebbe vedere quei messaggi mentre si eseguono i test per sapere fino a che punto siamo arrivati fino a quando il codice non è riuscito e per vedere che i messaggi stessi stanno funzionando correttamente. Sembra che avrò bisogno di usare un altro meccanismo per questo – user2793761