小编W. *_*Doe的帖子

devtools::check() 在 devtools::test() 通过的地方失败,因为并非 testthat 中的所有测试文件都被复制到 [r]

我的第一篇 [r] 帖子!我接手了一个由软件公司开发的项目,该项目由 4 个 R 包组成。在运行测试时,我发现虽然 devtools::test() 为其中一个包生成了干净的运行,但 devtools::check() 却没有!

输出中的错误如下:

    > test_check("moment")
  Error in file(file, "rt") : cannot open the connection
  Calls: test_check ... FUN -> eval -> eval -> read.csv -> read.table -> file
  In addition: Warning message:
  In file(file, "rt") :
    cannot open file 'Tables/Analysis/BobAndCheck/bob.csv': No such file or directory
  Execution halted
Run Code Online (Sandbox Code Playgroud)

请注意,所引用的 csv 文件是用于管理 testthat 输入和预期输出的众多 csv 文件之一。似乎在运行 devtools::check() 时整个包(包括这些文件)被复制到 TMPDIR 位置。奇怪的是,“BobAndCheck”文件夹没有被复制(即使包含类似 csv 文件的其他文件夹也被复制)。所以错误是正确的,测试文件不在那里(在 TMPDIR 中),但我不知道为什么它没有被复制,而其他文件却被复制!请注意,顶层“Tables”直接位于包结构中的tests/testthat 文件夹下。

我找不到任何关于为什么 check() 将文件复制到 TMPDIR 来运行测试(干净的包?)的文档,并且无法理解为什么这可能会出错!???

非常感谢任何帮助。谢谢。

编辑以包含下面的忽略文件(我不认为这是导致问题的原因):

^.*\.Rproj$ …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
0
解决办法
668
查看次数

标签 统计

r ×1