Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you repeat a test in PHPUnit?

Tags:

php

phpunit

I know about the "--repeat" option, but I'd rather define the repeating within the test and per test. In my unit tests there are tests I don't want to repeat, and there are tests I want to repeat more than others.

I was thinking:

protected function tearDown() {
  if (test has not been ran 3 times) {
      $this->runTest(); // Re-run the test
  }
}

This doesn't seem to work, nor does $this->run(). I've looked at the PHPUnit source code but I'm not sure. I'm guessing it's checking the test status and if it's been ran it denies running it again.

like image 902
velo9 Avatar asked Jun 04 '26 15:06

velo9


1 Answers

PHPUnit has a repeat option within the command line runner. This works as follows for a test that repeats 3 times:

phpunit --repeat 3 myTest.php
like image 52
reusen Avatar answered Jun 07 '26 23:06

reusen