A productive and enjoyable unit testing framework for PHP with parallel execution and code coverage.
Nette Tester is a unit testing framework for PHP that provides a comprehensive suite of tools for writing, running, and analyzing tests. It solves the problem of slow and cumbersome testing by offering parallel execution, code coverage reporting, and a developer-friendly workflow.
PHP developers and teams who need a robust, fast, and feature-rich testing framework for their applications, particularly those working with the Nette Framework or any PHP codebase.
Developers choose Nette Tester for its emphasis on productivity and enjoyment, with standout features like parallel test execution, built-in code coverage, and a watch mode that automatically reruns tests on code changes.
Tester: enjoyable unit testing in PHP with code coverage reporter. 🍏🍏🍎🍏
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs tests in parallel by default using 8 threads, significantly speeding up large test suites, as shown by the -j command-line option.
Generates detailed HTML coverage reports with support for Xdebug, PCOV, or PHPDBG, enabled via the --coverage flag for analyzing untested code.
Includes diverse assertions for values, exceptions, errors, and private methods, such as Assert::exception() and Assert::with() for testing private access.
Automatically re-runs tests on code changes with the -w flag, eliminating manual test execution and improving developer workflow.
Provides DOM query utilities like Tester\DomQuery::fromHtml() for testing HTML output using CSS selector syntax, simplifying web component validation.
Code coverage analysis requires Xdebug, PCOV, or PHPDBG, which may not be available in all server environments, restricting functionality without these extensions.
Focuses on traditional unit testing without native support for behavior-driven development patterns, making it less suitable for teams preferring Gherkin-style tests.
Has a smaller community and fewer third-party integrations compared to PHPUnit, which might limit plugin availability and IDE support.
Requires additional environment setup, such as calling Tester\Environment::setup() with Composer autoloader, adding complexity for projects not using the Nette Framework.