我正在开发一个 R 应用程序,并想到了一个解决方法,可以在其中集成testthat(通常需要将您的项目打包),方法是向项目根目录添加 DESCRIPTION
文件。
我从一位同事那里学到了这种方法,他成功地让它像这样工作。
问题是,当我尝试测试任何东西(即使是空的测试文件)时,就会出现以下错误:
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
中,引用bar:source("bar.R")
RStudio版本1.1.447, R版本3.4.4,Mac OS X 10_13_4
2.0.1
,通过usethis::use_testthat()
和usethis::use_test("foo")
可以正常工作,但是需要使用context("test-foo")
替代source("bar.R")
。 - Rγσ ξηg Lιαη Ημ 雷欧