このパッケージを使用して、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)
})