测试保存 ggplots

Test saving ggplots

我正在为 ggplots 创建一堆测试。我包括检查标签、输出对象是否为 ggplot 等内容。但我不知道如何测试是否使用 testthatggsave 保存了绘图。你知道怎么做吗?

这是一种根据文件大小进行测试的方法。如果文件不存在,则为 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)
})