tests/testthat/test-try-again.R

succeed_after <- function(i) {
  function() {
    i <<- i - 1
    if (i > 0) fail(paste0("i is ", i))
  }
}

test_that("tries multiple times", {
  third_try <- succeed_after(3)
  expect_true(try_again(3, third_try()))

  third_try <- succeed_after(3)
  expect_failure(try_again(2, third_try()), "i is 1")
})

Try the testthat package in your browser

Any scripts or data that you put into this service are public.

testthat documentation built on Oct. 6, 2023, 5:10 p.m.