Я использую Rstudio, R 3.6.2 на Windows 10.
Для настройки я делаю следующее
library(testthat)
remotes::install_github("xiaodaigh/disk.frame", ref = "development")
library(disk.frame)
setup_disk.frame()
И это тест, о котором идет речь. Он просто запускает некоторый код в disk.frame и отлично работает в интерактивном режиме
test_that("guard against github 256 #2", {
test2 <- tibble::tibble(
date = sample(1:10, 20, replace = TRUE),
uid = sample(1:10, 20, replace = TRUE)
)
test_df = as.disk.frame(test2, nchunks = 2, overwrite=TRUE)
ntd = names(test_df)
correct_result = test_df %>%
group_by(!!!syms(ntd)) %>%
summarize(n=n()) %>%
collect
incorrect_result = test_df %>%
group_by(date, uid, proto, port) %>%
summarize(n=n()) %>%
collect
expect_equal(dim(incorrect_result), dim(correct_result))
})
, но код завершается ошибкой с
object 'ntd' not found
Backtrace:
1. dplyr::group_by(., !!!syms(ntd))
1. dplyr::summarize(., n = n())
9. dplyr::collect(.)
11. disk.frame::chunk_group_by(., !!!syms(ntd))
28. rlang:::map(x, sym)
29. base::lapply(.x, .f, ...)
, но ntd
четко определен!
Итак, я хотел понять, как testth устанавливает мою среду? Как мне воспроизвести эту среду? И использовать browser()
для отладки?