PHP测试包括仅输出的文件

时间:2011-01-27 18:52:56

标签: php testing phpunit

我们一直在开发的方式,我们的许多PHP文件都包含在内,只是期望它们会输出内容;没有方法被调用,等等。我的问题是,使用PHPUnit测试此方法的“正确”方法是什么?我应该将require放在setUp中,以便等到那时再运行,还是被认为是不好的魔法?

2 个答案:

答案 0 :(得分:2)

这是你可以测试它的唯一方法。我假设您计划使用output buffering来捕获所生成的内容,以便您可以根据预期进行检查。

最好的方法可能是重构代码,以便在自包含的类/函数中完成尽可能多的工作,将结果返回给调用者,适合以更传统的方式从PHPUnit进行测试。

答案 1 :(得分:2)

如果您的应用程序是Web应用程序(即:输出要求浏览器可读的内容),则PHPUnit与Selenium集成,后者是一个Web应用程序测试系统。它确实非常有用,特别是因为它有一个Firefox插件。

您可以在PHPUnit Manual

中阅读有关PHPUnit和Selenium的更多信息

如果您的模板(即:包含文件)用于命令行脚本,则使用output_buffering和正则表达式断言或常规断言(即:assertRegExp,assertEquals)。