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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.