Charles Charles - 1 year ago 81
PHP Question

Can you run PHPUnit tests from a script?

I have a PHP deployment script that I want to run PHPUnit tests first, and stop if the tests fail. I've been googling this a lot, and it's very hard to find documentation on running unit tests from php, rather than from the command line tool.

For the newest version of PHPUnit, can you do something like:

$unit_tests = new PHPUnit('my_tests_dir');
$passed = $unit_tests->run();

Preferably a solution that doesn't require me to manually specify each test suite.

Answer Source

Figured it out:

$phpunit = new PHPUnit_TextUI_TestRunner;

try {
    $test_results = $phpunit->dorun($phpunit->getTest(__DIR__, '', 'Test.php'));
} catch (PHPUnit_Framework_Exception $e) {
    print $e->getMessage() . "\n";
    die ("Unit tests failed.");
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download