Sinon: Variáveis ​​globais de stub

Criado em 7 jan. 2019  ·  3Comentários  ·  Fonte: sinonjs/sinon

Os módulos que quero testar e/ou simular usam algumas variáveis ​​globais.

Por exemplo, o código-fonte do módulo faz referência a uma variável session , que não está definida em nenhum lugar, mas está disponível em tempo de execução.

Considere o módulo globals.js :

let globals = {
    contextName: "DATA_PIPELINE",
    reportContext: "report",
    session: session
};

module.exports = globals;

session não está definido neste arquivo, mas está disponível em tempo de execução. É uma variável global do ambiente (não está sob meu controle).

Percebo que com temporizadores falsos, você conseguiu substituir a implementação de funções globais como setTimeout. Como poderíamos aplicar isso a qualquer função/objeto global?

Todos 3 comentários

Talvez sinon.replace(object, prop, replacement) seja o que você está procurando?
https://sinonjs.org/releases/v7.2.4/sandbox/#sandboxreplaceobject -property-replacement

Estamos tentando manter a lista de problemas do GitHub organizada e focada em bugs e discussões de recursos. Este ticket parece uma pergunta de uso; poste-o no StackOverflow e marque-o com sinon , para que a comunidade maior possa ajudar a responder às suas perguntas.

No Node.js, você pode fazer algo como:

global.session = sinon.stub();
// Proceed to import the modules that use the session global and run the tests
Esta página foi útil?
0 / 5 - 0 avaliações