Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 嘲弄:检查参数是否至少传递了一次?_Php_Testing_Mockery - Fatal编程技术网

Php 嘲弄:检查参数是否至少传递了一次?

Php 嘲弄:检查参数是否至少传递了一次?,php,testing,mockery,Php,Testing,Mockery,我想做一些看起来很平常的事情,但却找不到一个内置的解决方案 示例测试如下所示: <?php $user = factory(App\User::class)->create(['birthday' => Carbon::now()->subYear(20)]); $this->mailer->shouldReceive('sendBirthdayEvent') ->with(hasEntry("id", $user->id

我想做一些看起来很平常的事情,但却找不到一个内置的解决方案

示例测试如下所示:

<?php
$user = factory(App\User::class)->create(['birthday' => Carbon::now()->subYear(20)]);
$this->mailer->shouldReceive('sendBirthdayEvent')
             ->with(hasEntry("id", $user->id)); // Will fail if DB is seeded
$this->command->sendBirthdayEventToAllUSers();
<?php
$success = false;
$this->mailer->shouldReceive('sendBirthdayEvent')
             ->with(function($user_id) use($success) {
    if($user_id) === $user->id { 
        $success = true:
    }
    return true;
});
assert($success,true);
但我觉得我真的错过了一些东西。

试试这个:

$this->mailer->shouldReceive('sendBirthdayEvent')->with($user->id)->once();