RSpec安装

(1)Gemfile中加入,以下Gem包:web

            rspec-rails数据库

            factory_girl_railsruby

            fakerapp

            capybara框架

            database_cleaner函数

            launchy测试

            selenium-webdrivercode

rspec-rails和factory_girl_rails在测试组和开发组都须要,开发须要这两个gem包用于rails g 命令生成代码。orm

(2)配置好测试库database.yml,执行bundle exec rake db:create:all继承

(3)bundle exec rails generate rspec:install 生成RSpec配置文件(.rspec),用来存放测试文件的文件夹(spec),以及一个存储帮助函数的文件(spec/spec_helper.rb),能够在这个帮助函数文件中定制如何和程序代码交互。

能够在.rspec中加入 --format documentation,将rspec跑的结果已文档形式展现

(4)为了使用scaffold再也不生成Test::Unit测试文件,而生成rspec测试文件,能够在config/application.rb文件,Application类中加入:

config.generators do |g|
    g.test_framework :rspec,
        fixtures: true,
        view_specs: false,
        helper_specs: false,
        routing_specs: false,
        controller_specs: true,
        request_specs: false
    g.fixture_replacement :factory_girl, dir: "spec/factories"
end

g.test_framework接受了很长一串参数,第一个参数指定了使用的测试框架为rspec,后面的参数分别对应的是

    fixtures 为各模块申城测试固件

    view_specs 是否生成“视图测试”

    helper_specs 是否生成帮助方法测试

    routing_specs 是否生成routes.rb测试文件

    controller_specs、request_specs都是对应测试

   g.fixture_replacement :factory_girl, dir: "spec/factories" 告诉rails使用factory_girl生成与构建代码固件,并放在spec/factories文件夹中 

(5)rake db:test:clone 将develop数据库结构克隆到test库

注意:通常不生成视图测试,因为编写可靠地试图测试是很困难的事,且很差维护,UI相关的测试Rials开发者都倾向于用继承测试实现

相关文章
相关标签/搜索