我正在使用一个web应用程序,通常它运行在Apache下的mod_perl中。我和同事正在尝试做一些单元测试。是否有任何好的工具或技术用于模拟会话和请求等,这些可以帮助我们在Web服务器上下文之外执行此代码?为单元测试嘲弄Apache会话数据
7
A
回答
3
如果您使用的是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会为您完成大部分工作。 Here is a discussion勾画出各种技术和好处。
相关问题
- 1. 嘲弄在单元测试
- 2. 我如何嘲弄在单元测试
- 3. 用Python单元测试嘲弄side_effect
- 4. 在Typescript单元测试中嘲弄
- 5. 单元测试Ping/PingReply - 嘲弄?
- 6. 单元测试方法嘲弄的IList
- 7. 在单元测试中嘲弄PHP函数
- 8. 在单元测试环境中嘲弄/伪造静态函数
- 9. 单元测试和会话?
- 10. 在grails单元测试中嘲弄动态查找器
- 11. C# - 单元测试/嘲弄 - 遗留代码
- 12. 在单元测试中嘲弄API调用
- 13. 嘲笑单元测试类
- 14. Perl单元测试嘲讽
- 15. 测试一个块与RSpec的嘲弄
- 16. 测试django国际化 - 嘲弄gettext
- 17. Angular2 - 在测试中嘲弄RouteParams
- 18. 单元测试中的嘲讽表单
- 19. 单元测试会话变量
- 20. 如何单元测试会话状态
- 21. ASP.NET MVC单元测试 - 会话
- 22. Symfony 2.1权限,单元测试,会话
- 23. 单元测试:真正的数据库与嘲讽
- 24. 嘲讽和单元测试ASP.Net 1.0库
- 25. 在Wordpress单元测试中嘲笑
- 26. 单元测试嘲讽标准
- 27. Android单元测试/ Mockito:android.location.Location没有嘲讽
- 28. 单元测试中嘲笑UnitOfWorkManager.Current
- 29. Python,单元测试和嘲讽导入
- 30. 在Java中嘲笑Db单元测试
mod_perl 2还有[Apache2 :: FakeRequest](https://metacpan.org/pod/Apache2::FakeRequest)。 – Flimm