Pergunta

Eu estou escrevendo testes para Reagir aplicação que faz uso de Fluxxor para proporcionar um evento dispatcher.Fazendo esse trabalho exige dizendo a Brincadeira não para zombar de alguns módulos que são usados internamente, e são fornecidos pelo próprio Nó.

Isso significa que eu não pode simplesmente adicioná-los para o unmockedModulePathPatterns chave de configuração e, em vez de ter que usar algum código como este:

[ 'util', 'events' ].forEach(function (module) {
  jest.setMock(module, require.requireActual(module));
});

No entanto, eu não posso encontrar em qualquer lugar útil para colocá-lo.Eu tenho um setupEnvScriptFile o que define algumas variáveis globais que eu uso em quase todos os meus testes, mas o jest objeto parece não estar disponíveis no contexto, então eu apenas não é possível definir a zomba de lá.

Como um hacky medida provisória tenho enrolado o código acima em uma função que eu chamo no início de qualquer describe blocos de testes Fluxxor lojas, mas o seu longe do ideal.

Foi útil?

Solução 2

Parece que a resposta, pelo menos no momento, é "você não pode, neste caso", mas há questões em aberto para as duas mudanças que precisam ser feitas para oferecer suporte a ele.

https://github.com/facebook/jest/issues/106 https://github.com/facebook/jest/issues/107

Outras dicas

Você já tentou config.setupTestFrameworkScriptFile?Parece que ele iria ser o lugar certo para monkey patch a api, conforme docs.

FWIW, Aqui está uma solução que temos vindo a utilizar para adicionar Fluxxor e Reagir-Roteador suporte para o nosso teste de especificações.

https://gist.github.com/adjavaherian/a15ef0461e65d58aacd2

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top