Я хотел бы смоделировать функцию httr::GET
без необходимости прикреплять пакет httr
. Приведенный ниже код не работает с неправильным синтаксисом:
# Packages
library(testthat)
library(mockery)
# Creat mock function
m <- mock(mtcars)
with_mock(httr::GET = m, {
expect_equal(httr::GET(url = "www.google.com"), mtcars)
})
тогда как это работает:
# Creat mock function
library(httr)
m <- mock(mtcars)
with_mock(GET = m, {
expect_equal(GET(url = "www.google.com"), mtcars)
})
Причина в том, что ...
в testthat::with_mock
принимает именованные параметры ans ::
не имеет смысла в этом контексте. Я хотел бы иметь возможность смоделировать поведение функций, на которые ссылаются следующим образом:
some_function <- function(...) {
httr::GET(...)
}
m <- mock(mtcars)
with_mock(GET = m, {
expect_equal(httr::GET(url = "www.google.com"), mtcars)
})
Это не удалось:
Ошибка: функция GET
не найдена в среде testthat
.
Есть ли способ, которым я мог бы достичь этого без необходимости загружать пространство имен пакета и присоединять его к списку поиска?