嘲笑Apache会话数据进行单元测试

我正在使用一个web应用程序,它通常运行在Apache下的mod_perl中。 我和同事正在尝试做一些单元测试。 是否有任何好的工具或技术用于模拟会话和请求等,这些可以帮助我们在Web服务器上下文之外执行此代码?


如果您使用的是mod_perl 1,则有mod_perl附带的Apache :: FakeRequest。 它不是请求对象的完整模拟,所以你必须添加一些你自己的方法。 如果您的代码使用Apache :: Request,则更是如此。 还有更多的cookies和上传。 大多数情况下,你将花费大量的时间用Test :: MockObject。 幸运的是,Apache对象接口非常简单。

如果可能的话,你应该考虑切换到基于Plack的框架(Catalyst,Dancer等),它们提供更强大的测试和调试功能。 如果你使用mod_perl2,你很幸运! 很容易(相对于mod_perl 1)用Plack包装mod_perl2应用程序。 Plack :: App :: FakeApache为你完成大部分工作。 这里是一个讨论,勾画出各种技术和好处。

链接地址: http://www.djcxy.com/p/9553.html

上一篇: Mocking up Apache session data for unit testing

下一篇: Packaging a Play! application straight into a WAR