- Escreva um test case que reflita a interação sob a perspectiva do usuário (entrada => processo => saída);
- Comece a implementação pela camada mais próxima do usuário ('controller', 'worker', 'views'). Caso a camada ainda não exista, comece pelo próprio spec file;
require 'rails_helper'
feature 'Awesome feature' do
scenario 'User can do something awesome that will bring some valuable for him' do
# Given...
# When...
perform_awesomeness(input_data)
# Then...
end
end
def perform_awesomeness(input_data)
# Make me real.
end
- Postergue iniciativas de refactoring/design após cobrir 2 ou mais cenários;