日期(';m';)函数php(Zend)的模拟
如何模拟PHP默认函数,如日期和时间 我试过了日期(';m';)函数php(Zend)的模拟,php,date,zend-framework,Php,Date,Zend Framework,如何模拟PHP默认函数,如日期和时间 我试过了 $builder = $this->getMockBuilder(__NAMESPACE__)->getMock(); $builder->expects($this->once())->method('date')->with('m')->willReturn('test'); 它给了我错误 尝试配置方法“date”,该方法无法配置,因为它不存在、未指定、是最终的或是静态的 要模拟PHP函数,可以使用以
$builder = $this->getMockBuilder(__NAMESPACE__)->getMock();
$builder->expects($this->once())->method('date')->with('m')->willReturn('test');
它给了我错误
尝试配置方法“date”,该方法无法配置,因为它不存在、未指定、是最终的或是静态的
要模拟PHP函数,可以使用以下软件包: 这是PHPUnit测试用例中测试方法的一个简单示例:
$php = $this->prophesizePHP(__NAMESPACE__);
$php->date('Y', 1234)->willReturn('1970');
$php->date('Y', 1234000)->willReturn('1971');
$php->reveal();
免责声明:我写了这个库
如果您可以在您的系统上安装php扩展,那么请尝试一下
通过使用ClockMock::freeze
和ClockMock::reset
可以将内部php时钟移动到任何时间点。最酷的是,它对生产代码的修改为零,因为它透明地模拟php datetime对象和与时间相关的函数