本來Stubbing寫好好的,遇到要call stub裡未stubbing的method
一時還不知道怎麼寫,因為會遇到undefined mock function
原來直接用getMockBuilder就可以了
一時還不知道怎麼寫,因為會遇到undefined mock function
原來直接用getMockBuilder就可以了
class aaa {
public function test1(){return true;}
public function test2(){return true;}
}
class StubTest extends PHPUnit_Framework_TestCase
{
public function testStub()
{
$stub = $this->getMockBuilder('aaa')
->setMethods(array('test1'))
->getMock();
$stub->expects($this->any())
->method('test1')
->will($this->returnValue(false));
$this->assertFalse($stub->test1());
$this->assertTrue($stub->test2());
}
}
加上Namespace後,getMockBuilder裡的class,要加完整的namepspace才會真的取到, 不然會做個假的(test2會是undefined function)