Learn R Programming

testthat (version 3.3.0)

try_again: Evaluate an expectation multiple times until it succeeds

Description

If you have a flaky test, you can use try_again() to run it a few times until it succeeds. In most cases, you are better fixing the underlying cause of the flakeyness, but sometimes that's not possible.

Usage

try_again(times, code)

Arguments

times

Number of times to retry.

code

Code to evaluate.

Examples

Run this code
usually_return_1 <- function(i) {
  if (runif(1) < 0.1) 0 else 1
}

if (FALSE) {
# 10% chance of failure:
expect_equal(usually_return_1(), 1)

# 1% chance of failure:
try_again(1, expect_equal(usually_return_1(), 1))

# 0.1% chance of failure:
try_again(2, expect_equal(usually_return_1(), 1))
}

Run the code above in your browser using DataLab