PHPUnit成功回调函数?

时间:2016-08-24 10:41:55

标签: php unit-testing phpunit

虽然潜伏在PHP单元的文档中,但我发现如果测试失败应该调用的函数,即onNotSuccessfulTest。 但是,我可以用一种函数或任何方法来表明测试是否成功?

例如,我有3个测试,TestOneTestTwoTestThree。虽然我可以确定其中一项测试是否成功,但我可以检查所有测试是否以成功结束并根据具体情况采取行动?

2 个答案:

答案 0 :(得分:4)

虽然我看不到任何直接的解决方案,但这是一个不那么难看的替代方案。

写一个'假的'测试取决于testOne,testTwo和testThree

class DummyTest extends \PHPUnit_Framework_TestCase
{
    public function testOne()
    {
        self::assertTrue(true);
    }

    public function testTwo()
    {
        self::assertTrue(false);
    }

    public function testThree()
    {
        self::assertTrue(true);
    }

    /**
     * @depends testOne
     * @depends testTwo
     * @depends testThree
     */
    public function testOnAllTestsSuccess()
    {
        echo 'All tests have succeeded';
    }
}

testOnAllTestsSuccess只会在所有依赖于传递的情况下运行,否则将被跳过。

答案 1 :(得分:0)

要在测试成功后运行功能,可以使用以下解决方法:

    // Teardown is a function that gets run after each test
    public function tearDown()
    {
        // Status 0 is returned on a successfull test
        if ($this->getStatus() == 0) {
            // stuff to do on sucsess
        } 
    }