BT

Mocking para Java e Flex

por Craig Wickesser , traduzido por Victor Franzonatto em 14 Jul 2009 |

Recentemente foi liberada a versão 1.8 (rc2) do framework Mockito e a InfoQ teve a chance de conversar com o project owner, Szczepan Faber.

Nota, a versão 1.8 ainda não tem um release final, Szczepan promete que será equivalente a 1.8 RC2 liberada a qualquer momento.

InfoQ: O que os desenvolvedores podem esperar para o release 1.8?

Não há grandes mudanças na 1.8, mas o release contém um par de funcionalidades que devem tornar a vida de um programador mais fácil. Existe uma API para capturar argumentos possibilitando novos assertions. Isto torna a verificação de parâmetros muito mais eficaz.

Nós decidimos adicionar aliases na API stubbing para integrar harmoniosamente com o estilo de escrita do desenvolvimento de testes unitários orientados a comportamento (BDD). Isso significa que os seus comentários //dado //sendo //quando //então agora serão lidos de uma forma bem interessante, com o novo stubbing alias given().willReturn() ( Ex. dado(xpto).Retornará(xyz) ).

Esta edição do Mockito finalmente ganhou 'verdadeiros' partial mocks. Debatemos muito tempo se esse era um recurso válido e finalmente encontramos casos práticos de uso. A lista completa de funcionalidades está disponível em: http://code.google.com/p/mockito/wiki/ReleaseNotes

InfoQ: O que está previsto após o 1.8?

Eu pensei que o trabalho no Mockito fosse terminar com o 1.0, mas de alguma forma há sempre um fluxo de novas idéias e melhorias. Muitos agradecimentos aos usuários que partilham seus comentários e sugestões através do mockito mailing list. É difícil citar uma funcionalidade específica para releases futuros. Certamente, ainda vamos tentar manter a API simples. Vamos continuar melhorando o failure feedback de modo que os ciclos TDD sejam rápidos e suaves.

InfoQ: Recentemente surgiu um novo projeto chamado Mockito for Flex, trata-se de um sub-projeto oficial do Mockito?

Não trata-se de um sub-projeto porque é uma linguagem totalmente diferente. Acredito que possa dizer algo como uma colaboração oficial porque eu e o Krzysztof Karczmarczyk trabalhamos juntos na implementação do mockito-flex. Penso que Krzysztof atualizou a informação na página principal do mockito-flex.

InfoQ: Você poderia fornecer algumas fontes para realmente explorar a fundo o Mockito e seu leque de funcionalidades?

Qualquer tutorial que aborde mock objects em geral é bom para entender os conceitos. Brett Schuchert escreveu um tutorial sobre Mockito. No que diz respeito a características específicas, toda a documentação, incluindo exemplos de código podem ser encontrados nos javadocs. A razão para mantermos toda a documentação em javadocs é que queremos que seja coerente com aquilo que é apresentado na web em mockito.org. Além disso, é útil se toda documentação está disponível diretamente através da IDE, mesmo quando offline.

Um bom ponto de partida para aprender sobre as funcionalidades presentes é o javadoc da classe Mockito.

Atualmente, mockito-flex está na versão 1.0 e possui as seguintes features:

  • Suporte a verificação de chamadas de métodos e acesso a propriedades
  • Suporte a stubbing de chamadas de métodos e acesso a propriedades
  • Suporte a matchers básicos e API extensível para criação de novos matchers
  • Integração com flex unit.
  • Baseado no asmock-0.3 (para geração bytecode e manipulação de execução de baixo nível)

Finalmente, se você for um desenvolvedor Python, dê uma olhada em mockito-phyton.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT