Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日期(';m';)函数php(Zend)的模拟_Php_Date_Zend Framework - Fatal编程技术网

日期(';m';)函数php(Zend)的模拟

日期(';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函数,可以使用以

如何模拟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对象和与时间相关的函数