我正在研究在服务中模拟记录器类并确保它尝试记录错误。它遵循psr/log接口,因此可以通过多个路由实现错误记录。调用error方法或log使用LogLevel::error
PHPUnit mocking 中有没有办法检查这个。
<?php
// Create a mock logger that can be observed
$logger = $this->createMock(LoggerInterface::class);
// This fails is $logger->log(LogLevel::error, 'some message'); is called
$logger
->expects($this->once())
->method('error');
// This fail is $logger->error() is called
$logger
->expects($this->once())
->method('log')
->with(LogLevel::ERROR);
上面的两种方法都做同样的事情,记录错误,所以我真的不介意使用哪一种,只要使用一种即可。
有没有人对如何实现这一目标有任何想法?
我已经看到有一种方法叫做$this->logicalOr()但我认为它不适合目的。
提前谢谢大家!
凤凰求蛊