x [[method]](...)中的错误:在采购文件时尝试在testthat测试中应用非函数

时间:2018-04-29 04:56:38

标签: r testthat

我正在开发一个R应用程序,并提出了一种解决方法,通过向项目根目录添加DESCRIPTION文件,将testthat集成到其中(通常需要将项目作为一个包)。 / p>

我从同事那里获得了这种方法,并设法让它像这样工作。

问题是,当我尝试测试任何东西(甚至是空的测试文件)时,我收到此错误:

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
    
  • 将testt添加到您的项目中:

    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

1 个答案:

答案 0 :(得分:17)

这似乎是由于file_name中的错误造成的。将testthat 2.0.0添加到top of each test file为我工作(使用Ubuntu和Windows测试)。