如何使用message_type为0测试error_log

时间:2013-07-29 15:48:31

标签: php unit-testing phpunit

我该如何测试

error_log( $message ); 

使用默认目标参数进行通用?测试不会总是在我的开发机器上运行,我不知道其他开发人员将他们的php.ini文件配置设置为。

有没有办法从php.ini文件中访问error_log变量?

2 个答案:

答案 0 :(得分:0)

该消息通常会转到apache错误日志。如果错误日志保存在默认目录中(例如/ var / log / httpd / error_log或/var/log/apache2/error.log),您可以拖尾文件以检查邮件是否已被记录:

  

tail /var/log/apache2/error.log

有时您可能需要sudo访问权限才能阅读错误日志。

答案 1 :(得分:0)

这里的error_log不是你的代码,而是一个内置的库,所以你不应该测试它,因为库的测试会这样做。但是,如果日志是您的内部函数,那么您可以通过调用日志来模拟常规代码的日志,然后通过调用它来测试返回值。

如果需要测试内容,那么最好的方法是在临时目录中为测试创建日志,并希望使用依赖注入将其传递给日志例程。写入之后,您可以打开并阅读日志,以确保它只包含您刚编写的行。

这些测试应该与您的日志类测试隔离,而不是主应用程序,它仍然只是模拟其测试的日志功能。