この方法がどのように機能するかわかりません。これが私がそれを使用しようとしている例です:
namespace spec;
use PhpSpec\ObjectBehavior;
class MyObjectSpec extends ObjectBehavior
{
/**
* @param SomeEvent $event
* @param SomeSubscriber $subscriber
*/
function it_formats_the_string_as_a_header_if_underline_with_single_dashes(
$event,
$subscriber
)
{
$subscriber->onChange($event)->shouldBeCalled(); //RIGHT HERE
// when
$this->addSubscriber($subscriber);
$this->doWhatever($event);
}
}
class SomeEvent {}
class SomeSubscriber
{
function onChange($event){}
function usesOnChange(){
$someEvent = new SomeEvent();
$this->onChange($someEvent);
}
}
名前空間は正しく、ファイルはそれぞれ ObjectSpec.php 、 SomeEvent.php (src フォルダー内) 、 SomeSubscriber.php (src フォルダー内) にあります。これにより、 No Call has been matching but a least one was expectedというエラーが発生しますなぜこれが機能しないのですか? ありがとうございました。