繁体   English   中英

在travis上进行测试的测试期间使用load()从.RData文件加载数据

[英]Using load() to load data from an .RData file during a testthat test on travis

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

确实确实很简单:不区分大小写的OS X默默地忽略了我输入的大小写错误(.Rdata与.RData),而travis正在运行的ubuntu系统区分大小写,因此在搜索extractedMarkerData.RData时,发现extractMarkerData.Rdata不起作用(鉴于ubuntu区分大小写,因此不起作用)。 已修复,现在一切都很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM