Para referência - http://en.wikipedia.org/wiki/Single_responsibility_principle
Eu tenho um cenário de teste em que em um módulo do aplicativo é responsável pela criação de entradas do razão. Existem três tarefas básicas que podem ser realizadas -
- Veja as entradas do razão existentes no formato de tabela.
- Crie uma nova entrada no razão usando o botão criar.
- Clique em uma entrada do razão na tabela (mencionada no primeiro ponteiro) e veja seus detalhes na próxima página. Você pode anular uma entrada do razão nesta página.
(Existem mais algumas operações / validações em cada página, mas, por uma questão de brevidade, vou limitá-la a estas)
Então eu decidi criar três classes diferentes -
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
Essas classes oferecem os serviços que poderiam ser realizados nessas páginas e os testes do Selenium usam essas classes para levar a aplicação a um estado em que eu poderia fazer certa afirmação.
Quando eu estava analisando o artigo com meu colega, ele ficou abatido e me pediu para fazer uma aula única para todos. Embora eu ainda sinta que meu design é muito limpo, duvido que esteja usando demais o princípio de responsabilidade única