如何测试phpunit中是否调用了正确的函数

时间:2015-03-03 15:50:26

标签: php phpunit

我正在尝试学习如何使用phpunit编写测试。

在我试图写的测试用例中,我正在测试3种方法。测试是方法1返回false然后调用方法2和3其他只是停止。

class MyTest {

 $mock1->getMock('some class1')
 $mock1->expect($this->once())
       ->method('method1')
       ->will($this->returnValue(false));

 $mock2->getMock('some_class2')
 $mock2->expect($this->once())
       ->method('method2')
$mock2->method2($arg)

 $mock2->expect($this->once())
       ->method('method3')
$mock3->method3($arg)
}

我如何测试方法2和3是否被调用。 目前我发现没有找到测试失败

1 个答案:

答案 0 :(得分:1)

查看文档,大致就是这个类应该是这样的:

class MyTest extends PHPUnit_Framework_TestCase
{
    public function setUp()
    {
    //initialize objects for each method to work with
    }

    public function testFeature()
    {
         $arg = 'something';
         $mock1->getMock('some class1');
         $mock1->expect($this->once())
               ->method('method1')
               ->will($this->returnValue(false));

         $mock2->getMock('some_class2');
         $mock2->expect($this->once())
               ->method('method2');
        $mock2->method2($arg);

         $mock2->expect($this->once())
               ->method('method3');
        //$mock3->method3($arg);

    }
}