DoesNothing
クラスがモッククラスを使用しないか、必要なメソッドを呼び出さないため、実行すると失敗すると予想される以下のコードがあります。
<?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);
}
}
しかし、実行すると合格します。「メソッド remove は呼び出されませんでした」などと言うと思います。
何が間違っている可能性がありますか?Mockery が PHPUnit に話しかける方法と何か関係がありますか?
ありがとう、マーティン
編集: Etsy の PHPExtensionsを使用して PHPUnit に統合していることにも言及する必要があります。