我正在使用嘲讽来测试创建日历事件的类。它将开始日期和结束日期的时间戳传递给我的EventRepository的create()方法。还有其他作为参数包含的数据,但我只关心这个测试的时间戳是否正确。
这段代码可以很好地测试one事件的创建:
$this->repo->shouldReceive('create')->once()
->with(Mockery::contains(1466460000, 1466467200));但是,当我将模拟扩展到被称为create()的方法时,它会失败两次。
$this->repo->shouldReceive('create')->twice()
->with(Mockery::contains(1466460000, 1466467200),
Mockery::contains(1466632800, 1466640000));嘲讽不使用语法->with(args1, args2)来为同一个函数的多个调用指定参数吗?
发布于 2016-06-25 11:04:23
当被测试的方法有多个参数时,使用带有多个参数的语法。
对于您的用例,您需要这样做:
$this->repo->shouldReceive('create')->once()
->with(Mockery::contains(1466460000, 1466467200));
$this->repo->shouldReceive('create')->once()
->with(Mockery::contains(1466632800, 1466640000));https://stackoverflow.com/questions/38002084
复制相似问题