我有下面的代码,我希望在运行时失败,因为类DoesNothing
不使用mock类或调用任何必需的方法。
<?php
class DoesNothing
{
}
class DoesNothingTest extends YourMockeryTestCase
{
/**
* @test
*/
public function somethingIsCalled()
{
$this->mock = Mockery::mock();
$keys = array(
'1234',
'abcxyz',
'*&(%&^$-*/~@:{}',
')*&GA^FAUIB(*',
'',
' ',
);
foreach ($keys as $key) {
$this->mock
->shouldReceive('remove')
->atLeast()->times(1)
->with($key);
}
$var = new DoesNothing($this->mock);
}
}
但是当我运行它时,它会通过。我希望它能说“没有调用方法删除”等等。
可能有什么不对?与Mockery如何与PHPUnit谈话有关?
谢谢, 马丁
编辑: 我也提到我们正在使用Etsy's PHPExtensions将它集成到PHPUnit
中答案 0 :(得分:5)
您的方法名称应以test
开头,否则PHPUnit不会将其确定为测试。
public function testSomethingIsCalled()
修改强>
你必须在你的拆解方法中调用Mockery::close()
以期望执行。即。
/**
* Tear down
*/
public function tearDown()
{
\Mockery::close();
}