Teste de aplicativos Big JS - evitando vários arquivos karma.conf.js
eu usocarma + jasmim + fantasma para meus testes de JavaScript sem cabeçalho.
O problema que tenho é que eu tenho um aplicativo muito grande que consiste em muitos módulos JS que eu quero testar.Então eu preciso de mocks personalizados para cada caso e inclui personalizado para cada caso.
karma.conf.js
permite-me apenas terfiles
matriz que consiste em padrões para todos os arquivos para incluir o que é ótimo se meu aplicativo seria pequeno e não um grande aplicativo com muitos arquivos e módulos.
Minha solução por enquanto - crie múltiploskarma.conf.js
arquivos para cada caso de teste. Mas isso é uma droga, pois ter muitos arquivos de configuração é um grande inchaço e se eu quiser mudar uma configuração (comoautowatch) Eu precisaria mudar todos os arquivos de configuração.
Minhasoutra solução - escrever manipulador personalizado na frente dekarma.conf.js
para lidar com parâmetros adicionais (arquivo de especificação ou pasta para ignorar o karma para procurar em seu arquivo de configuração) e simplesmente construirfiles
matriz dinamicamente.
Agora, o problema que vejo com isso é que o carma é executado apenas uma vez e eu ficaria limitado a executar uma especificação de teste ... eEu não quero modificar o próprio KARMA.
Eu também considerei usarGrunhido mas não encontrei uma maneira de fazê-lo funcionar para vários casos de teste.
A propósito, minha estrutura ideal seria assim:
ter arquivos:
test/specs/category/unit1_spec.js
test/mocks/category/unit1_mock.js
arquivo de configuração:
files: [
{
'includes': [array_of_includes],
'spec': 'spec_file'
}
]
arquivo simulado seria agarrado automaticamente do diretório de mocks apropriado.
e eu poderia fazerkarma start test/specs/category
e recursivamente executaria todos os casos de teste dentro da pasta.
tl; dr - Eu quero testar confortavelmente um grande aplicativo.
Eu gostariaqualquer sugestão para lidar com essa tarefa.