我该如何测试
error_log( $message );
使用默认目标参数进行通用?测试不会总是在我的开发机器上运行,我不知道其他开发人员将他们的php.ini文件配置设置为。
有没有办法从php.ini文件中访问error_log变量?
答案 0 :(得分:0)
该消息通常会转到apache错误日志。如果错误日志保存在默认目录中(例如/ var / log / httpd / error_log或/var/log/apache2/error.log),您可以拖尾文件以检查邮件是否已被记录:
即
tail /var/log/apache2/error.log
有时您可能需要sudo访问权限才能阅读错误日志。
答案 1 :(得分:0)
这里的error_log不是你的代码,而是一个内置的库,所以你不应该测试它,因为库的测试会这样做。但是,如果日志是您的内部函数,那么您可以通过调用日志来模拟常规代码的日志,然后通过调用它来测试返回值。
如果需要测试内容,那么最好的方法是在临时目录中为测试创建日志,并希望使用依赖注入将其传递给日志例程。写入之后,您可以打开并阅读日志,以确保它只包含您刚编写的行。
这些测试应该与您的日志类测试隔离,而不是主应用程序,它仍然只是模拟其测试的日志功能。