Trilha Júnior Trilha

Minitest: testes de model

O Minitest é o framework de testes padrão do Rails, e este app usa RSpec nos próprios testes. O curso lê o ActiveSupport::TestCase e a classe mãe dele, Minitest::Test, no código-fonte das gems instaladas. Roda assert_equal, assert_predicate e assert_difference contra um model ActiveRecord descartável no Postgres e mostra as mensagens de falha. Explica por que o ActiveRecord::TestFixtures está instalado mas nunca foi conectado. Por fim, traduz dois exemplos RSpec para Minitest e fecha com um desafio pequeno em Ruby puro.

O que você vai aprender

  • ✓Como o ActiveSupport::TestCase é subclasse de Minitest::Test e herda Minitest::Assertions
  • ✓Como o helper declarativo test transforma uma string num método test_ com define_method
  • ✓Usar assert_equal e assert_predicate em models ActiveRecord e ler a saída de falha
  • ✓Como o assert_difference e as assertions parecidas checam o que um bloco muda
  • ✓Por que o ActiveRecord::TestFixtures depende do rails/test_help.rb e de um test/test_helper.rb
  • ✓Como expectations do RSpec correspondem a assertions do Minitest, e onde não correspondem
Prévia grátis · Aula 1 2 min de leitura

O Minitest existe aqui: os testes deste app são RSpec, e esse é o ponto de partida

Os testes deste app ficam em spec/ e rodam com bundle exec rspec spec/. A linha 60 do Gemfile diz gem "rspec-rails". Não existe diretório test/, que é onde uma suíte Minitest ficaria. Se algum curso disser que este app "não tem testes", esse curso olhou a convenção errada.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...