nette/tester
Nette Tester is a lightweight PHP unit testing framework focused on fast execution and readable assertions. It supports test cases, data providers, output capture, and isolation of tests, making it easy to write reliable automated tests without heavy setup.
This release brings true parallel test execution on Windows, smarter PHP configuration handling, and a bunch of quality-of-life improvements. The headline: Tester now respects your system php.ini by default, which is a breaking change but makes the "it works on my machine" debugging sessions a lot shorter.
php.ini by default (#465)stream_select() fix means Windows users can now enjoy actual parallelism, not just the illusion of it.test() and testException() lifecycle improvements – Both functions now properly call setUp() and tearDown(), and tearDown() runs even when tests fail. Your cleanup code will actually clean up.testNoError()support for PHP 8.5
Dumper::toPhp() prints enum case directly (#457)DomQuery::closest()DomQuery::matches()test(): checks count of argumentsconsole-lines mode which prints each test on separate line. (#443)Environment::setupFunctions() creates global functions testException()get_debug_type()Assert::exception() prints stack of unexpected exceptionDumper::dumpException() added option to change output file name via AssertException::$outputNameTestCase:prepareTestData(): check that every data provider item is array #431Assert::$expandPatterns to disable patterns expansiontouch() expects parameter 2 to be int, null given' #403For the details you can have a look at the diff.
with() (#410)touch() expects parameter 2 to be int, null given' #403For the details you can have a look at the diff.
pcntl_signal() can be disabledFor the details you can have a look at the diff.
register_shutdown_function() (#411)For the details you can have a look at the diff.
Assert::notNull()FileMutator fixes--watch mode recovers from errors (e.g. missing file)FileMutator (during scandir() or recursive mkdir())Assert::noError() throws exception when called with more than one parameterExpect for complex assertions formulation (#398)Helper::purge() protection to not purge root directory (#392)Runner::addPhpIniOption() to be able set PHP INI option from --setup scriptFor more information see documentation and changelog.
Minimal PHP version since this release is 7.1. That's actually the main reason for this release.
Internal code improvements
Bypass finals respects final as a literal
Added notification when empty code coverage report data
The --coverage-src option is repeatable (#388)
For more information see documentation and changelog.
For more information see documentation and changelog.
This release is the last in the 1.x series. It is compatible with PHP 5.4 - 7.2.
The following 2.0 series, even marked as compatibility breaking, has very good compatibility, but supports PHP from version 5.6.
For more information see documentation and changelog.
For more information see documentation and changelog.
*Test.php as a test files too-C option to use system-wide php.ini--temp option[@phpExtension](https://github.com/phpExtension) test file annotation%w% and %% modifiers for Assert::match()For more information see documentation and changelog.
For more information see documentation and changelog.
For more information see documentation and changelog.
This release fixes issue of TestCase::tearDown() double calling:
For more information see documentation and changelog.
noError() assertion #250[@throws](https://github.com/throws) is applied to testMethods() only, not to setUp() nor tearDown() (BC break) #238setUp() and tearDown() exceptionstearDown() is called even on error in test method #254 #255Dumper::toPhp() better support for anonymous classes and ClosuresFor more information see documentation and changelog.
For more information see documentation and changelog.
How can I help you explore Laravel packages today?