Karma – Test Runner para JavaScript

Temos ouvido bastante sobre testes unitários JavaScript, para que o código fique mais robusto e seja mais fácil de...

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.
Data de publicação: 17/10/2013

Temos ouvido bastante sobre testes unitários JavaScript, para que o código fique mais robusto e seja mais fácil de refatorá-lo e mantê-lo. Foi então, que surgiram vários frameworks para testes, como Jasmine e QUnit, que são usados para definir os cenários de testes, e escrevê-los (aliás, segue um bom guia para BDD usando Jasmine).

Existem também alguns mais específicos, como o E2E Testing que é feito para testes fim-a-fim em projetos que utilizam o framework Angular JS. Na maioria desses frameworks de testes, é possível rodar a suíte manualmente acessando uma página HTML local, porém, isso é um pouco chato de se fazer, pois não é automatizado e nem sempre é possível rodar em diferentes browsers o tempo todo.

E então foi criado o Karma, construído em NodeJS, com o objetivo de facilitar a execução de seus testes. Ele pode ser instalado facilmente pelo NPM (Node Package Manager) e conta com suporte para os frameworks de teste Jasmine, QUnit e Mocha, porém é bem simples de extendê-lo para que ele rode também outros tipos de testes.

Com o Karma é possível marcar alguns arquivos para serem observados, subir um pequeno servidor local e então, em qualquer mudança nesses arquivos, o Karma irá rodar a sua suíte de testes automaticamente e te apresentar os resultados. Também é bem simples configurá-lo em ferramentas de integração contínua como o Jenkins ou Travis.
Além de ter uma configuração muito simples e interativa, rodar os seus testes em vários browsers, também há vários plugins para integrar a execução em outras ferramentas, geralmente utilizadas para build, como Grunt e Maven (no caso de projetos que também utilizam Java).
Muitas vezes ocorre uma confusão sobre as mudanças nos testes causadas ao utilizar Karma, porém, é válido ressaltar que ele não irá simplificar a maneira como seus testes são escritos, ou ajudar você a construir ótimas suítes só pelo simples fato de usá-lo. O que o Karma faz é apenas rodar os testes de maneira rápida e simples, e aposto que isso pode ajudar muito a sua vida durante o desenvolvimento de aplicações com JavaScript.
 

Dextra

View posts by Dextra
Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes. A Dextra faz parte da Mutant, empresa B2B líder no mercado brasileiro e especialista em Customer Experience para plataformas digitais.

Comentários

  1. André Valenti21 de outubro de 2013

    Opa, valeu pela referência :)!
    Legal esse Karma! Já tinha ouvido falar, mas após ler o post consegui entender melhor qual é a finalidade dele. Vocês estão usando aí nos projetos da Dextra?
    []s!

    Responder
  2. thiagop9322 de outubro de 2013

    Fala, Valenti! Imagina cara, o “JavaScript Firme” ficou bem massa!
    Já estamos usando em alguns projetos sim, e alguns projetos estão preparando as coisas para usar. Até agora o pessoal não tem reclamado 😀
    Abraço!

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

14 − 8 =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top