PestPHP is a testing framework inspired by JEST.
It uses PhpUnit underneath, so it should be relatively straightforward to support.
An issue has been created in Pest for this, however looking at the discussion it also seems like infection prefers the package to be under their organisation. https://github.com/pestphp/pest/issues/4
Some major issues for supporting Pest without any changes in pest, is that the TestFrameworkConfigLocator is determining based on the config name.
However Pest is build on PhpUnit, so their config file is actually also just named phpunit.xml. (This can be solved in Pest by Pest allowing a config file named pest.xml and then infection would only work if you rename your config file.
@owenvoke do you still have the adapter you created where you got infection php working?
I started working on Pest integration on top of PHPUnit adapter at that point in time.
There was a blocker in Pest though - https://github.com/pestphp/pest/issues/48.
Seems like I had some progress with that issue - https://github.com/pestphp/pest/issues/48#issuecomment-639115133 - but it still requires more work, probably from someone who is familiar with Pest, as currently Junit report doesn't work as expected, but Infection requires it.
After this issue is resolved, I can continue work on creating an adapter
@maks-rafalko Ah awesome.
Does infection only support reading Junit reports? Because Pest does have a TeamCity printer where those issues has been fixed.
However if it does not, then I might be able to look into that and fix the Junit report also.
Infection requires both xml and junit reports to work properly and fast.
So, it does not work with TeamCity format.
UPD (2021-05-02): https://github.com/pestphp/pest/pull/291 Pest has fixed JUnit report, draft version of Pest Adapter in Infection works
implemented and released with 0.23.0
Most helpful comment
implemented and released with 0.23.0