【发布时间】:2018-10-09 13:06:05
【问题描述】:
我正在开发一个 R 应用程序,并想出了一个解决方法,通过将 DESCRIPTION 文件添加到项目根目录来将 testthat 集成到其中(它通常要求您的项目是一个包)。
我从一位同事那里得到了这个方法,他设法让它像这样工作。
问题是,当我尝试测试任何东西(甚至是空的测试文件)时,我得到了这个错误:
Error in x[[method]](...) : attempt to apply non-function
Calls: <Anonymous> ... <Anonymous> -> o_apply -> lapply -> FUN -> <Anonymous>
Execution halted
据我所知,这仅出现在 macOS 上。我的同事仍然可以在 Windows 上毫无问题地运行此应用程序。
这是怎么回事?
用于重现此错误的MCVE 将是:
-
创建一个包含内容的最小
DESCRIPTION文件:Package: testpckg -
将 testthat 添加到您的项目中:
usethis::use_testthat() usethis::use_test("foo") - 创建空文件
bar.R - 在
test-foo.R,来源栏:source("bar.R")
RStudio 版本 1.1.447, R 版本 3.4.4,Mac OS X 10_13_4
【问题讨论】:
-
你能发布你正在运行的引发错误的代码吗?
-
我使用了很多文件,所以在一个新的、干净的项目中更容易重现错误。我编辑了描述。
-
很遗憾,我无法在我的 macbook 上重现此内容。
-
我也有同样的问题。你解决了你的问题吗? (一位同事运行相同的代码没有这个问题!)
-
查看我对下面答案的编辑...