如何在 PHPUnit 中重复测试?

2022-01-25 00:00:00 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.

解决方案

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

phpunit --repeat 3 myTest.php

相关文章