是否可以检查在PhpSpec中调用协作者的静态方法的次数?

时间:2016-12-30 00:24:05

标签: php laravel laravel-5 phpspec

我想要实现的目标是:

  1. 检查是否在ContextItem上调用了工厂方法
  2. 检查集合中是否存在提供的实体
  3. 问题:

    1. 如何向合作者的工厂方法提供特定实体?
    2. 如何检查ContextItem静态工厂的方法被调用了多少次?
    3. 我正在使用带有phpspec扩展名的laravel:https://github.com/BenConstable/phpspec-laravel

      问题是 - >未在执行phpspec返回的Collection协作者的push方法。

      /

      上下文类:

      class ContextSpec extends ObjectBehavior
      {
          function it_builds_a_collection_of_context_items(ContextItem $contextItem, Collection $collector)
          {
              $item = ContextItem::factory(1,2);
              $items = [1, 2, 3];
      
              $collector->push($contextItem)->shouldBeCalledTimes(3);
              $this->beConstructedThrough("factory", [$items]);
      
              // $collector->push($contextItem)->willReturn($item);
      
              // $contextItem->beConstructedThrough("factory", [0,1])->shouldBeCalled();
      
              // $contextItem::factory(1,2)->shouldBeCalledTimes(3);
              // $contextItem->factory()->shouldBeCalledTimes(3);
      
              $this->items()->shouldHaveCount(3);
              $this->items()->shouldContain($item);
          }
      }
      

0 个答案:

没有答案