testthat
パッケージを使用して、開発中のRパッケージで単体テストを実行しています。私は奇妙な状況に陥って、私が間違っていることを本当に理解することができません。トラビスのテスト中に.RDataファイルからデータをロードするためにload()を使用する
いくつかの機能をテストして結果を比較するために、いくつかのテストデータ(データフレームに保存されている)といくつかの事前計算済みの回答(再びデータフレームに保存されています)をロードしようとしています。私は両方のデータセットを.Rdataファイル(tests/testthat /ディレクトリ)として保存しました。テストを実行する前にロードしています。load(file.path('filename.RData'))
私のコンピュータでテストを実行すると、テストは正常に実行されます。彼らはトラヴィス上で実行した場合でも、私はエラーを取得する:
> 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)
})
'getwd()'を使って作業ディレクトリをチェックし、読み込んでいる '.Rdata'ファイルがディレクトリ内にあることを確認してください(' list.files() 'を使って確認してください)。また、関数loadを 'load(file = 'extractedMarkerData.Rdata')'として試してください。 –
これを追加してtravisの検査を診断しようとしましたが、これらのファイルは*作業ディレクトリにありますが、理由Rはそれらにアクセスできません(私のコンピュータでテストを実行するとうまくいきますが、travisで実行されていないときはうまく動作します)。[travis log](https://travis-ci.org)/jonkeane/mocapGrip/builds/125995784#L1567-L1580)この最新のビルド用 –