TorqueBox应用开发与部署全解析
1. TorqueBox应用测试
在测试TorqueBox应用时,由于应用服务器将基础设施与应用解耦,这虽有好处,但也让一些原本简单的事情变得复杂,比如测试。当运行测试规范时,可能会遇到如下错误:
$ rpsec spec/
NoMethodError: undefined method `always_background' for #<Class:0x5000cc80>
这是因为 always_background() 方法未添加到 ActiveRecord::Base 类中,且测试是在TorqueBox环境之外运行,许多预期的功能并未就位。即便解决了方法定义问题,由于没有运行消息队列,测试时仍无法执行后台作业,因为消息队列是TorqueBox服务器在另一个进程中运行的组件。
不过,有两个测试工具可解决此问题:
- TorqueSpec :这是一个集成测试框架,可在运行的TorqueBox服务器中运行Rspec测试。但它功能过于全面,对于当前测试规范而言并非必需。其目的是在测试时集成基于TorqueBox的应用组件,而当前测试的是程序的内聚单元,可独立运行。
- torquebox - no - op gem :该工具创建所有TorqueBox方法(如 always_background() )的存根,并将其连接到框架中。虽然这些方法存根无法像正常
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



