Você está na página 1de 10

RSpec

Introdução aos testes de software


- Significado e necessidade de testes de software

- Tipos de testes de software (unitários, de integração, funcionais etc.)


O que é RSpec

- História e desenvolvimento do RSpec

- Por que usamos o RSpec em vez de outras ferramentas de teste (como Minitest)
Configurando o ambiente RSpec
- Como instalar e configurar o RSpec no Ruby on Rails
Fundamentos do RSpec
- Diferentes tipos de exemplos (describe, context, it)

- Expectativas (expect) e corresponde a matchers

- Predicados comuns do RSpec (be, eq, include etc.)

- Lidar com erros e exceções


Abordagens de teste RSpec
- Escrevendo testes eficazes e significativos

- Testes de unidade vs testes de integração no RSpec


RSpec.describe 'Company::User' do
describe 'POST #create' do
subject(:call) { post minha_rota_create_path(params) }

context 'quando deu tudo certo e um usuário foi criado' do


before { ... } # necessário criar um contexto para o cenário do teste

let(:params) { ... } # params para esse cenário

it { expect { call }.not_to raise_error }


end

context 'quando outro cenário' do


before { ... } # necessário criar um contexto para o cenário do teste

let(:params) { ... } # params para esse cenário

it { expect { call }.to raise_error(ActiveRecord::RecordInvalid) }


end
end
end
Mocks
- O que são e por que são usados

- Como usá-los em testes RSpec


Práticas recomendadas de RSpec
- Mantenha os testes DRY, independentes e determinísticos

- Escrevendo testes autoexplicativos


Conclusão
Perguntas

Você também pode gostar