使用临时文件夹通过testthat

时间:2018-10-15 03:03:09

标签: r testthat

我正在使用testthat在自己的程序包上运行测试,现在我有一个抛出错误的测试,以前可以正常运行。我的测试的一般结构是:

test_that("my.test", {
  new <- system.file("extdata", "my.new.file.xml", package="my.pkg")
  old <- system.file("extdata", "my.old.file.xml", package="my.pkg")
  csv.in <- system.file("extdata", "my.data.csv", package="my.pkg")
  testFolder <- tempdir()
  file.copy(c(new, old, csv.in), testFolder)

  #Do something with the files and run tests

  files <- list.files(testFolder, full.names=TRUE)
  file.remove(files)
})

但是,file.copy(c(new, old, csv.in), testFolder)行会引发错误

  

停止(“来自”的文件多于“到”的文件”)

经过几次试验,问题似乎在于tempdir()没有生成任何路径。这在Windows和Unix上进行(通过Travis测试)。 我尝试了一些不同的操作并阅读了几篇文章,但是由于我不想更改工作目录,也不想在工作目录中移动测试文件,因此似乎没有什么适用于我的情况。我只想在temp目录中执行一些文件操作,然后确认结果。

当我手动运行测试时,它没有问题。
有什么建议吗?

0 个答案:

没有答案