1

我该如何测试

error_log( $message ); 

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

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

4

2 回答 2

0

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

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

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

于 2013-07-29T18:30:40.233 回答
0

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

IE

尾 /var/log/apache2/error.log

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

于 2013-07-29T15:55:15.370 回答