快速业务通道

跨越边界: 在集成框架中进行测试,第2部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ake/rake_test_loader Started ... Finished in 0.09541 seconds. 3 tests, 5 assertions, 0 failures, 0 errors /usr/local/ror/bin/ruby -Ilib:test   "/usr/local/ror/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader.rb"   "test/functional/trails_controller_test.rb" Loaded suite /usr/local/ror/lib/ruby/gems/1.8/gems/rake- 0.7.0/lib/rake/rake_test_loader Started ........ Finished in 0.169756 seconds. 8 tests, 28 assertions, 0 failures, 0 errors

这样就好多了。测试正常运行,而我们准备构建更多测试用例。如果仔细查看清单 2 就会发现,rake 生成了两组结果。第一组(第 1 部分的单元测试)看起来应当熟悉。下一组是从框架中自动生成的功能 测试。

跨越边界: 在集成框架中进行测试,第2部分(2)

时间:2011-07-25 IBM Bruce Tate

控制器和视图快速入门

在查看测试代码之前,需要对 Rails 的用户界面层有更好的理解。在第 1 部分中,用 script/generate scaffold Trail Trails 生成框架代码时,Rails 根据数据库的内容为应用程序创建了 一个控制器和系列视图。控制器的代码位于 app/controller/trails_controller.rb,视图则全部位于 app/views/trails 下的不同目录中。这个应用程序包含:

默认 Web 页面实现,显示路线(trail)列表(叫做 list)

路线的细节信息的显示页面

路线的通用表单

创建或编辑路线的页面

要了解这些是如何组合在一起的,请参见 trails_controller.rb 中的 list 方法,如清单 3 所示:

清单 3. app/controllers/trails_controller.rb 中的部分代码清单

def list   @trail_pages, @trails = paginate :trails, :per_page => 10 end

传入的超文传输协议(HTTP)请求进入控制器。(HTTP 是支持浏览器、Rails 和所有基于浏览器的应 用程序的底层协议)。在这篇文章后面,您将看到功能测试如何通过使用 HTTP 命令来调用功能测试用例 。清单 3 的代码设置了 Rails 显示线路的分页列表时需要的实例变量。视图需要一个分页器对象,即 Rails 分配给 @trail_pages 的分页器对象,还需要 @trails 中的路线列表。默认情况下,Rails 使用 与控制器方法相同的名称呈现视图。要查看视图,请参阅 app/views/trails/list.rhtml 中的表格定义 ,如清单 4 所示:

清单 4. list.rhtml 的部分代码清单

<table>   <tr>   <% for column in Trail.content_columns %>     <th><%= column.human_name %></th>   <% end %>   </tr> <% for trail in @trails %>   <tr>   <% for column in Trail.content_columns %>     <td><%=h trail.send(column.name) %></td>   <% end %>     <td><%= link_to ''Show'', :action => ''show'', :id => trail %></td>     <td><%= link_to ''Edit'', :action => ''edit'', :id => trail %></td>     <td><%= link_to ''Destroy'', { :action => ''destroy'', :id => trail },      :confirm => ''Are you sure?'', :post => true %></td>   </tr> <% end %> </table>

Rails 中的视图策略是:创建一个简单字符串,然后做一些替换。这个策略叫做建模,它构成了大多 数现代 Web 框架的基础,包括 Java 框架(例如 Tapestry、JavaServer Faces(JSF)、JavaServer Pages (JSP) 和 WebWork)。在这个示例中,Rails 做了以下工作:

执行 <% 和 %> 之间的代码段(被称为语句),并用代码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号