【问题标题】:Using load() to load data from an .RData file during a testthat test on travis在对 travis 进行测试的测试期间使用 load() 从 .RData 文件中加载数据
【发布时间】:2016-04-26 22:47:39
【问题描述】:

我正在使用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)
})

【问题讨论】:

  • 使用getwd() 检查您的工作目录,并确保您正在加载的.Rdata 文件在该目录中(使用list.files() 进行检查)。另外,尝试将函数加载为load(file='extractedMarkerData.Rdata')
  • 我已经尝试添加这些来诊断对 travis 的检查,并且这些文件似乎 位于 工作目录中,但由于某种原因 R 无法访问它们(再次,当我在我的计算机上运行测试时,这很好用,但在 travis 上运行时就不行了。)这是最新版本的the travis log

标签: r travis-ci testthat


【解决方案1】:

这确实很简单:不区分大小写的 OS X 默默地忽略了我的大小写错误(.Rdata 与 .RData),而 travis 运行的 ubuntu 系统区分大小写,因此在搜索提取的MarkerData.RData 时,发现extractMarkerData.Rdata 不起作用(因为它不应该起作用,因为 ubuntu 区分大小写)。已修复,现在一切正常。

【讨论】:

    猜你喜欢
    • 2018-12-23
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多