我的问题是:在我的代码中,我有几个场合需要发送一个标题和正文,然后终止处理。与那些其他问题不同,我不能使用
return
或抛出异常(它们显然是设计用于不同目的而不是exit的不同函数,并且这不是错误;仅仅是一种特定情况下的早期运行时终止)。尽管如此,我仍然希望编写单元测试来运行这些方法,确保设置了适当的标题(在这里找到了解决方案),输出正文是正确的(通过测试用例中的
$this->expectOutputString()
方法解决),然后继续测试。在此期间,将发生exit
。我尝试了PHPUnit中的
@runInSeparateProcess
注释,还检查了test_helpers扩展,它有效,但我不想为一个单独的原生PHP代码行添加另一个扩展(请注意,测试也将在生产环境中运行),这会导致所有东西都崩溃。必须有一种简单的方法而不牺牲最佳实践。有没有人有解决这个问题的好方法?