Fazendo o teste e2e funcionar em Angular.js

Inexplicavelmente, você pode ter descoberto que o gerador de karma Yeoman apenas configura seu aplicativo para especificações / testes de unidade por padrão.

Para colocar os testes de integração / e2e em execução, você precisará fazer o seguinte:

Adicione um bloco e2e em Gruntfile.js:

karma: {
e2e
: {
configFile
: 'karma-e2e.conf.js'
},
unit
: {
configFile
: 'karma.conf.js',
singleRun
: true
}
},

Adicione o seguinte ao karma-e2e.conf.js :

 proxies = {
// change this if you've changed your grunt server port. default is 9000
'/': 'http://localhost:9000'
};

urlRoot
= '/__e2e/';

Se você deseja que seus testes de integração sejam executados continuamente, certifique-se de que singleRun seja falso e autoWatch seja verdadeiro .

Por fim, certifique-se de envolver seus testes em um beforeEach :


describe
("E2E Tests", function() {
beforeEach
(function() {
browser
().navigateTo('/');
});

it
('should navigate to somewhere fancy', function() {
foo
();
});
});

Para fazer o servidor de teste funcionar, agora basta executar:

grunt karma:e2e

Sem dúvida, isso será corrigido nos próximos lançamentos, mas parece uma omissão estranha.