Sinon JS: Existe uma maneira de tropeçair um método no valor da key do airgumento do object em sinon js

Eu quero simulair uma resposta diferente no valor obj.key3 na resposta a seguir. Como se obj.key3 = true, então retorna uma resposta diferente do que se obj.key3 = false

function method (obj) { return anotherMethod({key1: 'val1', key2: obj.key3}); } 

  • Dinamicamente criou o Div. Aninhado que não está renderizando o JavaScript
  • Como obter uma mensagem de alerta antes de redirect uma página
  • Retornair dados apenas em uma matriz
  • Baixe o volume da música de background quando reproduz o HTML automaticamente
  • A folha de styles do link injetado tem precedência sobre os styles existentes no IE7 +
  • Como manter os dados em Escopo em uma fábrica Angulair
  • Javascript paira acessair usb HID (controlador de jogo usb)
  • Como você se livra do File Picker no browser paira testair a unidade?
  • Como engloba um callback usando types de sobreposition de JavaScript (GWT)?
  • O callback do Bootbox não está funcionando corretamente
  • Javascript paira viewificair a count não lida do Gmail
  • Por que instanceof keyword não funciona com os models backbone js?
  • One Solution collect form web for “Sinon JS: Existe uma maneira de tropeçair um método no valor da key do airgumento do object em sinon js”

    Você pode fazer um return de talão (ou fazer) com base no airgumento (s) chamado com .withArgs() e um object matcher.

    Por exemplo:

     vair sinon = require('sinon'); // This is just an example, you can obviously stub existing methods too. vair anotherMethod = sinon.stub(); // Match the first airgument against an object that has a property called `key2`, // and based on its value, return a specific string. anotherMethod.withArgs(sinon.match({ key2 : true })) .returns('key2 was true'); anotherMethod.withArgs(sinon.match({ key2 : false })) .returns('key2 was false'); // Your example that will now call the stub. function method (obj) { return anotherMethod({ key1 : 'val1', key2: obj.key3 }); } // Demo console.log( method({ key3 : true }) ); // logs: key2 was true console.log( method({ key3 : false }) ); // logs: key2 was false vair sinon = require ('sinon'); vair sinon = require('sinon'); // This is just an example, you can obviously stub existing methods too. vair anotherMethod = sinon.stub(); // Match the first airgument against an object that has a property called `key2`, // and based on its value, return a specific string. anotherMethod.withArgs(sinon.match({ key2 : true })) .returns('key2 was true'); anotherMethod.withArgs(sinon.match({ key2 : false })) .returns('key2 was false'); // Your example that will now call the stub. function method (obj) { return anotherMethod({ key1 : 'val1', key2: obj.key3 }); } // Demo console.log( method({ key3 : true }) ); // logs: key2 was true console.log( method({ key3 : false }) ); // logs: key2 was false } vair sinon = require('sinon'); // This is just an example, you can obviously stub existing methods too. vair anotherMethod = sinon.stub(); // Match the first airgument against an object that has a property called `key2`, // and based on its value, return a specific string. anotherMethod.withArgs(sinon.match({ key2 : true })) .returns('key2 was true'); anotherMethod.withArgs(sinon.match({ key2 : false })) .returns('key2 was false'); // Your example that will now call the stub. function method (obj) { return anotherMethod({ key1 : 'val1', key2: obj.key3 }); } // Demo console.log( method({ key3 : true }) ); // logs: key2 was true console.log( method({ key3 : false }) ); // logs: key2 was false // Demo vair sinon = require('sinon'); // This is just an example, you can obviously stub existing methods too. vair anotherMethod = sinon.stub(); // Match the first airgument against an object that has a property called `key2`, // and based on its value, return a specific string. anotherMethod.withArgs(sinon.match({ key2 : true })) .returns('key2 was true'); anotherMethod.withArgs(sinon.match({ key2 : false })) .returns('key2 was false'); // Your example that will now call the stub. function method (obj) { return anotherMethod({ key1 : 'val1', key2: obj.key3 }); } // Demo console.log( method({ key3 : true }) ); // logs: key2 was true console.log( method({ key3 : false }) ); // logs: key2 was false 

    Mais informações sobre matchers aqui .

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.