Wie schreibe ich einen Test für eine ggplot-Handlung?

Ich habe viele Funktionen, die Diagramme generieren, normalerweise mit ggplot2. Im Moment erstelle ich den Plot und teste die zugrunde liegenden Daten. Aber ich würde gerne wissen, ob es eine vernünftige Möglichkeit gibt, zu testen, ob der Plot die Ebenen / Optionen enthält, die ich erwarte, oder ob grafische Elemente den Erwartungen entsprechen.

Beispielsweise

library(ggplot2)
library(scales) # for percent()
library(testthat)

df <- data.frame(
  Response = LETTERS[1:5],
  Proportion = c(0.1,0.2,0.1,0.2,0.4)
)

#' @export plot_fun
plot_fun <- function(df) {
  p1 <- ggplot(df, aes(Response, Proportion)) +
    geom_bar(stat='identity') + 
    scale_y_continuous(labels = percent)
return(p1)
}

test_that("Plot returns ggplot object",{
  p <- plot_fun(df)
  expect_is(p,"ggplot")
})

test_that("Plot uses correct data", {
  p <- plot_fun(df)
  expect_that(df, equals(p$data))

})

Hier stecke ich fest

test_that("Plot layers match expectations",{
  p <- plot_fun(df)
  expect_that(...,...)
})

test_that("Scale is labelled percent",{
  p <- plot_fun(df)
  expect_that(...,...)
})

Vielleicht gibt es einen direkteren Ansatz?