2

I'm wondering if there's a way to run a PHPUnit test from an object. Example

<?php

class FooTest extends PHPUnit_Framework_TestCase{

   public function testTrue(){
     $this->assertTrue(true);
   }

}

Then in another PHP file:

<?php

$test = new FooTest;

// function to run $test->testTrue();

Is this possible? Thanks.

1 Answer 1

3

Yes it is possible. It can be done like this:

$test = new FooTest();
$results = $test->run();

When you create your tests, you are extending the PHPUnit_Framework_TestCase. PHPUnit calls the run method on each of the tests. So you would be able to call this yourself on the test to run it. This method returns a PHPUnit_Framework_TestResult which you can use to see the results of the test.

Checkout the PHPUnit source code for more info about the different objects.

Sign up to request clarification or add additional context in comments.

3 Comments

Is there a way to run only specific tests?
Yes, for that I think that you will need to create a PHPUnit_Framework_TestSuite and add the tests yourself. github.com/sebastianbergmann/phpunit/blob/3.7/PHPUnit/Framework/…
Thanks. I figured as much. I guess I'll just extend a custom class so that I can implement the things I need to be done.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.