Your SlideShare is downloading. ×
0
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Behavior Driven Development com Ruby on Rails

352

Published on

Apresentação feita para o FLISOL Salvador 2012.

Apresentação feita para o FLISOL Salvador 2012.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
352
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Um problema fácil de resolver Eles sempre começam assim
  • 2. A solução0 Preciso de um gerenciador de coleções: 0 Comic books; 0 DVDs; 0 LEGOs; 0 Jogos;
  • 3. Qualidadeatende aos requisitos
  • 4. Comunicação LinguagemCliente Desenvolvedor
  • 5. Comunicação HistóriasCliente Desenvolvedor
  • 6. História #123Para conseguir mais informações de umacoleção de revistasComo um usuárioEu deveria ver um relatório das minhasrevistas por tipo.
  • 7. História #123 proposição de valorPara conseguir mais informações de umacoleção de revistasComo um usuárioEu deveria ver um relatório das minhasrevistas por tipo.
  • 8. História #123Para conseguir mais informações de umacoleção de revistas papelComo um usuárioEu deveria ver um relatório das minhasrevistas por tipo.
  • 9. História #123Para conseguir mais informações de umacoleção de revistasComo um usuárioEu deveria ver um relatório das minhasrevistas por tipo. funcionalidade
  • 10. Qualidadefuncionar como esperado
  • 11. Test Driven Development Teste Faça o que teste falha passar Refatore
  • 12. Testes de aceitação
  • 13. História #123Apresentar todos os gêneros de revistas com asoma realDeveria mostrar o # total de revistasDeveria possuir o link para nova revistaDeveria possuir o link para todas as revistas
  • 14. Wireframes
  • 15. Behavior Driven Development Teste Faça oAceitação unitário testeque falha que falha passar Refatore
  • 16. Escolhendo as armas Ruby on Rails, Cucumber, RSpec, Webrat
  • 17. Mãos à obraConfigurando o ambiente
  • 18. Instalação Lembre-se de ter a última versão do ruby instalado. 0 Rails:$ gem install rails 0 RSpec:$ gem install rspec 0 Cucumber$ gem install cucumber
  • 19. Criando uma nova aplicação 0 Para criar uma nova aplicação Rails é simples:$ rails new manga_collection -T 0 Pronto! Para testar é executar:$ cd manga_collection$ rails s 0 No navegador acesse http://localhost:3000
  • 20. Gerenciando os pacotes 0 Altere o arquivo Gemfile responsável pelos gerenciamento de pacotes com as seguintes linhas:group :test do gem database_cleaner, 0.7.2 gem rspec-rails, 2.9.0 gem cucumber-rails, 1.3.0 gem webrat, 0.7.3end 0 Precisamos instalar as novas dependências:$ bundle install
  • 21. O ambiente de testes 0 Vamos instalar o RSpec e o Cucumber na aplicação$ rails g rspec:install$ rails g cucumber:install
  • 22. Hora de entender
  • 23. Adicionando funcionalidade
  • 24. Rails scaffold 0 Como exemplo vamos usar a funcionalidade de scaffold para modelar o sistema.$ rails g scaffold manga name:string volume:integer genre:string
  • 25. Escreva o pepino
  • 26. Veja falhar 0 Execute:$ cucumber features/ 0 A princípio ele vai apenas informar que existem passos não definidos; 0 Crie um arquivo .rb em features/step_definitions; 0 Implemente os passos e veja os testes falharem;
  • 27. manga.rb
  • 28. cucumber features/
  • 29. Faça o teste passar0 Implementar um controle para relatórios de mangá;0 Página html.erb com as expectativas no wireframe;0 Rota apontando para a página; Enough is enough!!!
  • 30. Refatorar sem medo0 Princípio: Encontrar code smells0 Exemplos: 0 Variáveis temporárias; 0 Longos métodos; 0 Longas classes;0 Os testes servem de suporte para refatoração!
  • 31. Cucumber ou RSpec? AMBOS
  • 32. Obrigado!Twitter: @marcoafilhoGitHub: github.com/marcoafilhoEmail: marcoafilho@gmail.com

×