Karma é um executor de testes JavaScript criado com o Node.js e destinado a testes de unidade.
O transferidor é para teste de ponta a ponta e usa o Selenium Web Driver para conduzir testes.
Ambos foram feitos pela equipe Angular. Você pode usar qualquer biblioteca de asserções que desejar.
Screencast: Karma Introdução
relacionados :
profissionais :
- Usa o node.js, tão compatível com o Win / OS X / Linux
- Execute testes de um navegador ou sem cabeça com o PhantomJS
- Executar em vários clientes ao mesmo tempo
- Opção para iniciar, capturar e desligar automaticamente navegadores
- Opção para executar servidor / clientes no computador de desenvolvimento ou separadamente
- Execute testes a partir de uma linha de comando (pode ser integrado ao ant / maven)
- Escreva testes no estilo xUnit ou BDD
- Suporta várias estruturas de teste JavaScript
- Executar testes automaticamente ao salvar
- Proxies solicita vários domínios
- Possível personalizar:
- Estenda-o para agrupar outras estruturas de teste (Jasmine, Mocha, QUnit interno)
- Suas próprias afirmações / refutações
- Repórteres
- Lançadores de Navegador
- Plugin para WebStorm
- Suportado pelo Netbeans IDE
Contras :
Estou totalmente sem qualificação para comentar sobre os recursos, pontos fortes e fracos do mocha.js, mas isso me foi recomendado por alguém em quem eu confio na comunidade JS.
Lista de recursos, conforme relatado por seu site:
- suporte ao navegador
- suporte assíncrono simples, incluindo promessas
- relatórios de cobertura de teste
- suporte a diff de string
- javascript # API para executar testes
- status de saída adequado para suporte de IC, etc.
- detecta automaticamente e desativa a coloração para não-ttys
- mapeia exceções não capturadas para o caso de teste correto
- suporte de tempo limite de teste assíncrono
- tempos limite específicos de teste
- suporte de notificação de rosnado
- relata durações de teste
- destaca testes lentos
- suporte para observador de arquivos
- detecção de vazamento variável global
- opcionalmente, execute testes que correspondem a uma regexp
- saída automática para evitar "travamento" com um loop ativo
- meta-gerar facilmente suítes e casos de teste
- Suporte ao arquivo mocha.opts
- títulos clicáveis do conjunto para filtrar a execução do teste
- suporte ao depurador de nós
- detecta várias chamadas para done ()
- use qualquer biblioteca de asserções que desejar
- relatórios extensíveis, agrupados com mais de 9 repórteres
- DSLs de teste extensíveis ou "interfaces"
- antes, depois, antes de cada, depois de cada gancho
- suporte arbitrário ao transpiler (script café etc)
- Pacote TextMate
Esta não existir mais, redirecionamentos para sequential.js vez
Yolpo é uma ferramenta para visualizar a execução de javascript. Os desenvolvedores de API Javascript são incentivados a escrever seus casos de uso para mostrar e informar sua API. Esses casos de uso formam a base dos testes de regressão.
Executor de teste futurista com suporte integrado para o ES2015. Embora o JavaScript seja de thread único, as E / S no Node.js podem ocorrer em paralelo devido à sua natureza assíncrona. O AVA tira proveito disso e executa seus testes simultaneamente, o que é especialmente benéfico para testes pesados de IO. Além disso, os arquivos de teste são executados em paralelo como processos separados, oferecendo desempenho ainda melhor e um ambiente isolado para cada arquivo de teste.
- Mínimo e rápido
- Sintaxe de teste simples
- Executa testes simultaneamente
- Força a gravação de testes atômicos
- Globais implícitos
- Ambiente isolado para cada arquivo de teste
- Escreva seus testes no ES2015
- Prometer suporte
- Suporte à função de gerador
- Suporte de função assíncrona
- Suporte observável
- Declarações aprimoradas
- TAP ou saída opcional
- Rastreios de pilha limpos
Um executor de teste JavaScript criado com Node.js. Muito modular e flexível. Ele vem com sua própria biblioteca de asserções, mas você pode adicionar sua própria, se quiser. A biblioteca de asserções é dissociada, para que você também possa usá-la com outros executores de teste. Em vez de usar assert(!...)
or expect(...).not...
, ele usa o refute(...)
que é uma imho agradável.
Um kit de ferramentas de teste de JavaScript do navegador. Realiza testes de navegador com automação de navegador (pense em JsTestDriver), teste estático de página HTML no estilo QUnit, teste em navegadores sem cabeça (PhantomJS, jsdom, ...) e muito mais. Dê uma olhada na visão geral !
Um kit de ferramentas de teste do Node.js. Você obtém a mesma biblioteca de casos de teste, biblioteca de asserções etc. Isso também é ótimo para o navegador híbrido e o código Node.js. Escreva seu caso de teste com o Buster.JS e execute-o no Node.js e em um navegador real.
Screencast: Buster.js Introdução (2:45)
profissionais :
- Usa o node.js, tão compatível com o Win / OS X / Linux
- Execute testes a partir de um navegador ou sem cabeça com o PhantomJS (em breve)
- Executar em vários clientes ao mesmo tempo
- Suporta teste NodeJS
- Não é necessário executar o servidor / clientes no computador de desenvolvimento (não é necessário o IE)
- Execute testes a partir de uma linha de comando (pode ser integrado ao ant / maven)
- Escreva testes no estilo xUnit ou BDD
- Suporta várias estruturas de teste JavaScript
- Adie os testes em vez de comentá-los
- SinonJS embutido
- Executar testes automaticamente ao salvar
- Proxies solicita vários domínios
- Possível personalizar:
- Estenda-o para agrupar outras estruturas de teste (JsTestDriver embutido)
- Suas próprias afirmações / refutações
- Repórteres (xUnit XML, pontos tradicionais, especificação, toque, TeamCity e mais integrados)
- Personalizar / substituir o HTML usado para executar os testes do navegador
- Integração TextMate e Emacs
Contras :
- Ainda na versão beta, pode ser de buggy
- Nenhum plugin para Eclipse / IntelliJ (ainda)
- Não agrupa resultados por os / browser / versão como TestSwarm *. No entanto, imprime o nome e a versão do navegador nos resultados do teste.
- Não há histórico de resultados de testes anteriores, como TestSwarm *
- Não funciona totalmente no Windows a partir de maio de 2014
* TestSwarm também é um servidor de Integração Contínua, enquanto você precisa de um servidor de IC separado para o Buster.js. No entanto, ele gera relatórios XML xUnit, portanto, deve ser fácil integrar-se ao Hudson , Bamboo ou outros servidores de CI.
https://github.com/jquery/testswarm
O TestSwarm não está mais em desenvolvimento ativo, como declarado na página do GitHub. Eles recomendam Karma, browserstack-runner ou Intern.
Essa é uma estrutura orientada a comportamento (conforme indicado na citação abaixo) que pode interessar aos desenvolvedores familiarizados com Ruby ou Ruby on Rails. A sintaxe é baseada no RSpec que é usado para teste em projetos Rails.
As especificações do jasmim podem ser executadas a partir de uma página html (no modo qUnit) ou de um executor de teste (como Karma).
Jasmine é uma estrutura de desenvolvimento orientada a comportamento para testar seu código JavaScript. Não depende de nenhuma outra estrutura JavaScript. Não requer um DOM.
Se você tem experiência com essa estrutura de teste, contribua com mais informações :)
Página inicial do projeto: http://jasmine.github.io/
O QUnit se concentra no teste de JavaScript no navegador, ao mesmo tempo em que oferece o máximo de conveniência possível ao desenvolvedor. Destaque do site:
QUnit é uma suíte de testes de unidade JavaScript poderosa e fácil de usar. É usado pelos projetos jQuery, jQuery UI e jQuery Mobile e é capaz de testar qualquer código JavaScript genérico
QUnit compartilha um pouco da história com o TestSwarm (acima):
O QUnit foi desenvolvido originalmente por John Resig como parte do jQuery. Em 2008, ele recebeu sua própria casa, nome e documentação da API, permitindo que outras pessoas o usassem também para testes de unidade. Na época, ainda dependia do jQuery. Uma reescrita em 2009 determinou que, agora o QUnit é executado de forma totalmente independente. Os métodos de asserção do QUnit seguem a especificação CommonJS Unit Testing, que foi até certo ponto influenciada pelo QUnit.
Página inicial do projeto: http://qunitjs.com/
Outra ótima ferramenta é o sinon.js de Christian Johansen, autor do desenvolvimento de JavaScript orientado a testes . Melhor descrito por ele mesmo:
Espiões, stubs e zombarias de teste independentes para JavaScript. Nenhuma dependência funciona com qualquer estrutura de teste de unidade.
O site Intern oferece uma comparação direta de recursos com outras estruturas de teste nesta lista. Ele oferece mais recursos prontos para uso do que qualquer outro sistema de teste baseado em JavaScript.
Uma estrutura de teste nova, mas ainda muito poderosa. Permite testes baseados em instantâneos, o que aumenta a velocidade do teste e cria uma nova dinâmica em termos de teste
Confira uma de suas palestras: https://www.youtube.com/watch?v=cAKYQpTC7MA
Melhor ainda: Introdução