phpunit - 致命错误的 PHPUnit 集成测试:允许的内存大小已用完
问题描述
我想测试一下,如果我的应用程序记录了致命错误
PHP Fatal error: Allowed memory size exhausted
到我的独白处理程序文件。我想为此编写一个集成测试。问题是当我触发错误时,PHPUnit 会停止。
/**
* @return void
*/
public function testMemoryLimitExhaustedLogToMonolog(): void
{
// set memory limit 100mb
ini_set('memory_limit', '100M');
while(true) {
$memoryExhaustingArray[] = 1;
}
$this->assertThatMyLogFileHasCatchedTheOutOfMemoryException();
}
有没有办法在 PHP7 中测试致命的内存不足错误?
解决方案
我认为,没有办法测试这个致命错误,因为 PHPUnit 在内存不足时会崩溃。此错误会触发脚本终止并且无法捕获:
推荐阅读
- erlang - 为什么常见的 Erlang 应用程序(Common Test、Dialyzer、leex、yecc 等)在 `erl` shell 中不可用?
- java - 根据条件截断记录器中异常的堆栈跟踪
- javascript - Browser.click 给出“元素不可见错误”
- c# - 代码优先模式中的实体框架中的错误
- javascript - 如何通过javascript获取应用程序包名称
- python - 网页抓取无法获取页面源代码
- python - 文件中的词频计数器
- python - 使用字典名称和键作为参数的函数
- erlang - 如何向所有连接的节点添加一列 - mnesia 表
- php - 爆炸并设置 if 条件 php