Я создаю кучу тестов для ggplots. Я включил такие вещи, как проверка меток, если объект вывода - ggplot и т. Д. Но я понятия не имею, как проверить, был ли график сохранен с использованием testthat
и ggsave
. Ты хоть представляешь, как это можно сделать?
Тестовое сохранение ggplots
comment
Хороший намек! Недостатком этого решения является то, что я должен указать имя файла. Мои файлы сохраняются на сегодняшний день, поэтому это очень сложно сделать во время тестирования. У вас может быть другая идея, которая не включает имя файла? ;))
- person John   schedule 23.09.2020
comment
Проверка того, что что-то было сохранено, означает проверку существования определенного файла. Я не понимаю, как можно сэкономить, не используя имя файла. Может быть, проверить количество файлов графики (например, png) в каталоге до и после действия сохранения? Я считаю это неоптимальным.
- person Roland   schedule 23.09.2020
Ответы (1)
Вот способ тестирования на основе размера файла. Если файл не существует, это NA, а если он существует, он должен быть ›0.
library(testthat)
library(ggplot2)
test_that("plot is saved to file", {
file <- tempfile(fileext = ".png")
expect_equal(file.size(file), NA_real_)
plot <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
ggsave(file, plot, "png")
expect_true(file.size(file) > 0)
unlink(file)
})
person
teunbrand
schedule
23.09.2020