测试不开发包时local_mocked_bindings

Testthat local_mocked_bindings when not developing a package

提问人:mkranj 提问时间:11/14/2023 最后编辑:mkranj 更新时间:11/14/2023 访问量:20

问:

我正在开发一个闪亮的应用程序,并使用testthat进行单元测试。我有一个带有测试的文件夹,我用它来运行。但是,我无法弄清楚如何使用模拟功能,因为我收到错误,我不在包中。 例: 具有以下功能的源文件:testthat::test_dir

base_fn <- function(){
  0
}

mocking_result <- function(){
  1
}

我的测试:

test_that("Mocking a function works",{
  local_mocked_bindings(base_fn = mocking_result)
  
  expect_equal(base_fn(), 1)

})

我不断收到错误dev_package()。我尝试将 .package 参数设置为 NA、NULL、“base”,没有帮助。 如果我不想将所有内容格式化为包,是否可以使用 local_mocked_bindings?我已经弄清楚我可以用它来实现这一目标,但从我收集到的信息来看,该功能已被取代,因此我不希望它将来无法使用。Error in : No packages loaded with pkgloadwith_mock

r 模拟 测试that

评论

0赞 homer3018 11/15/2023
刚才面对同样的事情。了解这些函数是否被创建为仅在包中使用会很有趣。

答: 暂无答案