Nesta aula adicionamos a gem FFaker ao projeto. Esta gem gera dados aleatórios para que nossos testes não fiquem viciados e só funcionem com determinados valores.
Primeiro adicionar a gem ao Gemfile:
group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem "debug", platforms: %i[ mri mingw x64_mingw ]
gem 'rspec-rails', '~> 6.0', '>= 6.0.1'
gem 'ffaker', '~> 2.21'
end
Rodar o bundle para instalar a gem:
bundle install
Refatorando nosso código de teste dele deve ficar assim ele deve ficar assim:
require 'rails_helper'
RSpec.describe User, type: :model do
it 'is invalid if the level is not between 1 and 99' do
nickname = FFaker::Name.first_name
kind = %i[knight wizard].sample
level = FFaker::Random.rand(100..9999)
user = User.new(nickname: nickname, kind: kind, level: level)
expect(user).to_not be_valid
end
it 'returns the correct hero title' do
nickname = FFaker::Name.first_name
kind = %i[knight wizard].sample
level = FFaker::Random.rand(1..99)
user = User.create(nickname: nickname, kind: kind, level: level)
expect(user.title).to eq("#{kind} #{nickname} ##{level}")
end
end
Aula 13
Nesta aula adicionamos a gem FFaker ao projeto. Esta gem gera dados aleatórios para que nossos testes não fiquem viciados e só funcionem com determinados valores.
Primeiro adicionar a gem ao Gemfile:
Rodar o bundle para instalar a gem:
Refatorando nosso código de teste dele deve ficar assim ele deve ficar assim: require 'rails_helper'