x[[method]](...) 中的错误:在获取文件时尝试在 testthat 测试中应用非函数
Error in x[[method]](...) : attempt to apply non-function in testthat test when sourcing file
我正在开发一个 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
这似乎是由于 testthat 2.0.0
中的一个错误。将 context("Name of test context")
添加到 top of each test file 对我有用(使用 Ubuntu 和 Windows 进行测试)。
我正在开发一个 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
这似乎是由于 testthat 2.0.0
中的一个错误。将 context("Name of test context")
添加到 top of each test file 对我有用(使用 Ubuntu 和 Windows 进行测试)。