2016-04-26 6 views
0

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) 
}) 
+0

'getwd()'を使って作業ディレクトリをチェックし、読み込んでいる '.Rdata'ファイルがディレクトリ内にあることを確認してください(' list.files() 'を使って確認してください)。また、関数loadを 'load(file = 'extractedMarkerData.Rdata')'として試してください。 –

+0

これを追加してtravisの検査を診断しようとしましたが、これらのファイルは*作業ディレクトリにありますが、理由Rはそれらにアクセスできません(私のコンピュータでテストを実行するとうまくいきますが、travisで実行されていないときはうまく動作します)。[travis log](https://travis-ci.org)/jonkeane/mocapGrip/builds/125995784#L1567-L1580)この最新のビルド用 –

答えて

0

そして、それは確かに単純なものだった:大文字小文字を区別しないOS Xは黙って私が間違っている場合(.RData対.Rdata)とUbuntuを持っていた無視しましたtravisが動作しているシステムでは、大文字と小文字が区別されるため、抽出されたMarkerData.RDataを検索すると、抽出されたMarkerData.Rdataが機能しませんでした。修正されました。

関連する問題