unit-testing - PHPUnit:如何模拟今天的日期而不将其作为参数传递?

标签 unit-testing phpunit

我正在我的类(class)上测试一种进行日期检查的方法。问题是该方法取决于今天的日期(每天都在变化),这使得测试变得困难。我怎样才能模拟今天的日期,以便我的测试明天仍然可以通过?

最佳答案

我对 PHP 一无所知,但在 Java 和 C# 中,我都会传入一个“时钟”的一些描述——不是今天的日期本身,而是一个你可以要求当前日期/时间的对象。然后在单元测试中,您可以传入一个对象,该对象可以给出您想要的任何日期 - 包括一个硬编码到测试中的对象。

这也适用于 PHP 吗?

关于unit-testing - PHPUnit:如何模拟今天的日期而不将其作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210851/

相关文章:

android - Android 的仪器测试 - 如何在方向改变后接收新的 Activity?

sql-server - 数据库的单元测试框架

php - 在 PHPUnit 中,如何在对模拟方法的连续调用中指示不同的 with()?

php - 通过 ANT 获取和使用父目录

php - 谁能提供一些有关 Zend Framework 中表单单元测试的资源?

exception - 在 zend 框架中运行 Controller 单元测试时出现 "No default module defined for this application"异常

unit-testing - 使用 PHPUnit 组织 Selenium 测试的最佳方式是什么?

angularjs - ngMock 将 $scope local 注入(inject) Controller

java - 如何在junit中按顺序运行特定文件

unit-testing - karma 报错-未知提供者: $$asyncCallbackProvider