0

不幸的是,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部分中发生的情况。

目前,$schedule是 的一个实例Mockery::mock('Schedule');

4

1 回答 1

3

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

  1. 该类已定义或可以自动加载
  2. 应使用完全限定名称
于 2014-04-02T01:04:01.617 回答