Without code at top-level
To solve this problem you need to relax some of your DRY (“don’t repeat yourself”) tendencies, as good test code is obvious.
test_that("foofy() does this", {
skip_if(today_is_a_monday())
dat <- data.frame(x = c("a", "b", "c"), y = c(1, 2, 3))
expect_equal(foofy(dat), ...)
})
test_that("foofy() does that", {
skip_if(today_is_a_monday())
skip_on_os("windows")
dat <- data.frame(x = c("a", "b", "c"), y = c(1, 2, 3))
dat2 <- data.frame(x = c("x", "y", "z"), y = c(4, 5, 6))
expect_snapshot(foofy(dat, dat2))
})
This also makes the test easier to understand.