1

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

1 に答える 1

2

大文字と小文字を区別しないOS Xは、大文字と小文字が間違っていることを黙って無視していました(.Rdataと.RData)、travisが実行しているubuntuシステムは大文字と小文字を区別するため、extractedMarkerData.RDataを検索すると、extractedMarkerData.Rdataが見つかりました機能しませんでした (ubuntu では大文字と小文字が区別されるため、機能しないはずです)。修正され、現在はすべて問題ありません。

于 2016-04-27T20:40:12.177 に答える