如何使instanceOf检查可测试

时间:2014-04-02 00:20:19

标签: php phpunit mockery

不幸的是,PHP不允许字符串类型提示。我想检查下面的项目,如果它不是某个类的实例,则抛出错误。是否有可能对此进行单元测试,无论是通过嘲讽还是以其他方式执行此检查?

    if (!is_array($schedules)) {
        $schedules = array($schedules);
    }
    foreach ($schedules as $schedule) {
        if (($schedule instanceOf Schedulable) === false) {
            throw new ScheduleException('Schedule for "'.$command->getName().'" is not an instance of Schedulable');
        }

        //more stuff here
    }

我遇到的麻烦是$schedule是模拟。我需要测试//more stuff here部分中发生的事情。

目前,$scheduleMockery::mock('Schedule');的实例。

1 个答案:

答案 0 :(得分:3)

正如我们在评论中所讨论的那样,应该确保:

  1. 该类已定义或可自动加载
  2. 应使用完全限定名称