PHPUnit:死后继续,期望“死”或以某种方式处理die()?

时间:2010-08-17 15:42:49

标签: php unit-testing error-handling phpunit expected-exception

  

可能重复:
  How do you use PHPUnit to test a function if that function is supposed to kill PHP?

我正在写一些单元测试。我目前正在测试的系统是MVC框架中的Web应用程序。

如果我们想要在没有site-skin系统的情况下渲染页面,我们传统上一如既往地运行我们的代码,但是打印出一个“die();”函数结尾处的语句,在网站其余部分呈现之前退出。

现在我们正在添加单元测试,这似乎是一个问题。你看,当你DIE();在MVC中,似乎向PHPUnit发送了相同的消息。

Grrrr ......代码现已呈现为“Untestable”

还是有吗?

如何计划骰子();在PHPUnit?

我知道在测试之前添加它:

/**
 * @expectedException PHPUnit_Framework_Error
 */

但它不允许我测试变量,因为它们是“死亡时”(至少我不这么认为)

任何能够启发我的人?

谢谢! :d

1 个答案:

答案 0 :(得分:3)

在这种情况下,您只需使用return代替die。在IDE中将所有死亡替换为返回应该很容易。

真正的问题是,当你真的需要测试exitdie返回的应用程序退出代码时(请参阅edorian的回答)。