我正在使用该testthat
包通过我正在开发的 R 包运行单元测试。我遇到了一个奇怪的情况,我无法弄清楚我做错了什么。
我正在尝试加载一些测试数据(存储在数据框中)和一些预先计算的答案(同样,存储在数据框中)来测试一些函数并比较结果。我已将两组数据保存为 .Rdata 文件(在 tests/testthat/ 目录中),并在运行测试之前将它们加载load(file.path('filename.RData'))
当我在我的计算机上运行测试时,测试运行良好。但是当他们在 travis 上运行时,我得到了错误:
> test_check("mocapGrip")
Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection
Calls: test_check ... force -> source_file -> eval -> eval -> load -> readChar
In addition: Warning message:
In readChar(con, 5L, useBytes = TRUE) :
cannot open compressed file 'extractedMarkerData.Rdata', probable reason 'No such file or directory'
我肯定遗漏了一些非常简单的东西,但是我已经尝试了所有明显的东西(从目录开头指定相对路径等)有没有人对如何让 travis 能够加载这些文件有任何想法?
这是有问题的 testthat 文件的内容:
library(mocapGrip)
context("distance calculationss")
load(file.path('extractedMarkerData.Rdata')) # markerDataHead
load(file.path('dist57.RData')) # dist57head
load(file.path('meanData.Rdata')) # meanDataHead
test_that("calculateDistances returns the correct distances", {
expect_equal(mocapGrip:::calculateDistances(markerDataHead, c(5,7)), dist57head)
})
test_that("meanOnAxis returns the correct distances", {
expect_equal(mocapGrip:::meanOnAxis(markerDataHead, c(0, 1, 2, 3, 4), axis ="Y"), meanDataHead)
})