您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 >
跨越边界: 在集成框架中进行测试--在 Ruby on Rails 中进行单元测试
作者:网络转载 发布时间:[ 2013/2/27 15:39:39 ] 推荐标签:

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


注意,如果使用 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> create database trails_development;
Query OK, 1 row affected (0.00 sec)

mysql> create database trails_test;
Query OK, 1 row affected (0.00 sec)


然后编辑 config/database.yml 中的配置,以反映数据库的优先选择。我的配置看起来像这样:

清单 6. 将数据库适配器添加到配置中


development:
   adapter: mysql
   database: trails_development
   username: root
   password:
   host: localhost


test:
   adapter: mysql
   database: trails_test
   username: root
   password:
   host: localhost


现在可以运行迁移,然后把应用程序剩下的部分搭建(scaffold)在一起:

清单 7. 迁移和搭建


> rake migrate

...results deleted...
   
> script/generate scaffold Trail Trails
...results deleted...

    create  app/views/trails

    ...results deleted...

    create  app/views/trails/_form.rhtml
    create  app/views/trails/list.rhtml
    create  app/views/trails/show.rhtml
    create  app/views/trails/new.rhtml
    create  app/views/trails/edit.rhtml
    create  app/controllers/trails_controller.rb

    create  test/functional/trails_controller_test.rb

    ...results deleted...

上一页1234下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd