Como faço para executar alguma configuração antes de cada Brincadeira e execução de teste
-
21-12-2019 - |
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.
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.