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.