Sto scrivendo uno script che alla fine restituisce un frame di dati. La mia domanda è intorno se ci sono buone pratiche su come utilizzare un pacchetto di test unitario per assicurarsi che il frame di dati che viene restituito sia corretto. (Sono un programmatore R inizio, più nuovo al concetto di unit testing)Come scrivere un test di prova dell'unità per una funzione che restituisce un frame di dati
Il mio script sembra efficace come il seguente:
# initialize data frame
df.out <- data.frame(...)
# function set
function1 <- function(x) {...}
function2 <- function(x) {...}
# do something to this data frame
df.out$new.column <- function1(df.out)
# do something else
df.out$other.new.column <- function2(df.out)
# etc ....
... e in ultima analisi, alla fine con un frame di dati con molte nuove colonne. Tuttavia, qual è l'approccio migliore per verificare che il frame di dati prodotto sia quello previsto, utilizzando i test unitari?
Finora ho creato test unitari che controllano i risultati di ciascuna funzione, ma voglio essere sicuro che eseguendo tutti questi insieme produca ciò che è inteso. Ho dato un'occhiata a Hadley Wickham's page on testing ma non riesco a vedere nulla di ovvio su cosa fare quando restituisco i frame di dati.
I miei pensieri fino ad oggi sono:
- creare una cornice di dati previsto a mano
- Verificare che l'uscita è uguale a questo frame di dati, utilizzando
expect_that
o simili
tutti i pensieri/indicazioni su dove cercare una guida? Il mio Google-fu mi ha deluso notevolmente su questo fino ad oggi.
Come [questo] (https://github.com/hadley/dplyr/blob/master/tests/testthat/test-colwise.R)? – Roland