要测试的课程:
class Arithmetic
{
public function mockme($param1 = 0, $param2 = 0)
{
echo 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';die;
}
public function mockme2()
{
$this->mockme('a', 'b');
}
}
测试它:
public function testMock()
{
$mock = $this->getMock('Arithmetic', array('mockme'));
$mock->expects($this->once())->method('mockme')->with();
$mock->mockme2();
}
现在它通过但不应该是。为什么? with()
已经给出。我希望没有参数必须传递给mockme()
- 所以with()
应该预期空参数。但现在它就像我根本没有设置它。
换句话说:如果我设置with(1,4)
它必须通过1,4。如果我设置with('a')
,则必须通过' a'。如果我没有设置任何with()
,那么它必须不传递任何东西(但它认为它就像我没有设置任何with()
)