possível usar os dados do pacote R em testthat tests ou run_examples (
Estou trabalhando no desenvolvimento de um pacote R, usando devtools, testthat e roxygen2. Eu tenho alguns conjuntos de dados na pasta de dados (foo.txt e bar.csv).
inha estrutura de arquivos é assim:
/ mypackage
/ data
* foo.txt, bar.csv
/ inst
/ tests
* run-all.R, test_1.R
/ man
/ R
Tenho certeza de que 'foo' e 'bar' estão documentados corretamente:
#' Foo data
#'
#' Sample foo data
#'
#' @name foo
#' @docType data
NULL
#' Bar data
#'
#' Sample bar data
#'
#' @name bar
#' @docType data
NULL
Gostaria de usar os dados em 'foo' e 'bar' nos meus exemplos de documentação e testes de unidad
Por exemplo, eu gostaria de usar esses conjuntos de dados nos meus testes testando os seguinte
data(foo)
data(bar)
expect_that(foo$col[1], equals(bar$col[1]))
E eu gostaria que os exemplos na documentação fossem assim:
#' @examples
#' data(foo)
#' functionThatUsesFoo(foo)
Se eu tentar chamar dados (foo) durante o desenvolvimento do pacote, recebo o erro "conjunto de dados 'foo' não encontrado". No entanto, se eu criar o pacote, instalá-lo e carregá-lo, posso fazer com que os testes e os exemplos funcione
As minhas soluções alternativas atuais não devem executar o exemplo:
#' @examples
#' \dontrun{data(foo)}
#' \dontrun{functionThatUsesFoo(foo)}
Nos testes, pré-carregue os dados usando um caminho específico para o meu computador local:
foo <- read.delim(pathToFoo, sep="\t", fill = TRUE, comment.char="#")
bar <- read.delim(pathToBar, sep=";", fill = TRUE, comment.char="#"
expect_that(foo$col[1], equals(bar$col[1]))
Isso não parece ideal - especialmente porque estou colaborando com outras pessoas - exigindo que todos os colaboradores tenham os mesmos caminhos completos para 'foo' e 'bar'. Além disso, os exemplos na documentação parecem que não podem ser executados, mesmo que, uma vez instalado o pacote, eles possa
Alguma sugestão? Muito obrigado.