快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
,现在是构建一个需要一些真正测试的实际应用 程序的时候了。

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

时间:2011-07-25 IBM Bruce Tate

构建一个快速 Rails 应用程序

为了进展得快些,我采用了一个保存山地摩托车路线数据库的 Rails 应用程序。我将模型的几个测试 放在一起。如果想和我一起编写代码,那么所有需要的工具就是一个数据库引擎(我使用的是 MySQL)和 Ruby on Rails 1.1 或更新版本(请参阅 参考资料)。第一步是创建 Rails 项目。在命令提示符下输入 rails trails 命令,清单 2 显示了命令和结果:

清单 2. 构建 Rails 应用程序

> rails trails create  create app/controllers create app/helpers create app/models create app/views/layouts ...partial results deleted... create test/fixtures create test/functional create test/integration create test/mocks/development create test/mocks/test create test/unit create test/test_helper.rb ...partial results deleted... create config/environment.rb create config/environments/production.rb create config/environments/development.rb create config/environments/test.rb ...partial results deleted... create log/server.log create log/production.log create log/development.log create log/test.log

Rails 除了生成空项目什么都没做,但是可以看到它正在为您工作。清单 2 创建的目录中包含:

应用程序目录,包括模型、视图和控制器的子目录

单元测试、功能测试和集成测试的测试目录

为测试而明确创建的环境

测试用例结果的日志

因为 Rails 是一个集成环境,所以它可以假设组织测试框架的最佳方式。Rails 也能生成默认测试用 例,后面将会看到。

现在要通过迁移创建数据库表,然后用数据库表创建新数据库。请键入 cd trails 进入 trails 目录 。然后生成一个模型和迁移(migration),如清单 3 所示:

清单 3. 生成一个模型和迁移

> script/generate model Trail       exists app/models/       exists test/unit/       exists test/fixtures/       create app/models/trail.rb       create test/unit/trail_test.rb       create test/fixtures/trails.yml       create db/migrate       create db/migrate/001_create_trails.rb

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

时间:2011-07-25 IBM Bruce Tate

注意,如果使用 Windows,就必须在命令前加上 Ruby,这样命令就变成了 ruby script/generate model Trail。

如清单 3 所示,Rails 环境不仅创建了模型,还创建了迁移、测试用例和测试 fixture。稍后将看到 fixture 和测试的更多内容。迁移让 Rails 开发人员可以在整个开发过程中处理数据库表中不可避免的 更改(请参阅 跨越边界:研究活动记录)。请编辑您的迁移(在 001_create_trails.rb 中),以添加 需要的列,如清单 4 所示:

清单 4. 添加列

class CreateTrails < ActiveRecord::Migration   def self.up     create_table :trails do |t|      t.column :name, :string      t.column :description, :text      t.column :difficulty, :string   end end   def self.down     drop_table :trails   end end

您需要创建和配置两个数据库:trails_test 和 trails_development。如果想把这个代码投入生产, 那么还需要创建第三个数据库 trails_production,但是现在可以跳过这一步。请用数据库管理器创建数 据库。我使用的是 MySQL:

清单 5. 创建开发和测试数据库

mysql&g

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号