Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

117
Views
Espiar cambios de propiedad con Sinon

Estoy taladrando propiedades con sinon. Tengo problemas para entender cómo funciona el espionaje relacionado. La mayoría de los métodos de espionaje sinon parecen estar relacionados con las llamadas a funciones y no con el acceso a las propiedades de los objetos. Como solución alternativa, creé una variable para rastrear el acceso a la propiedad y la configuré manualmente cuando se llama a la función getter relacionada. Vea el ejemplo de código a continuación. Esto parece funcionar bien, pero siento que probablemente estoy duplicando alguna funcionalidad que ya existe en sinon. ¿Cuál sería una forma más idiomática de lograr el mismo resultado?

 const sinon = require('sinon'); const lib = require('./lib'); const app = require('./app'); const sandbox = sinon.createSandbox(); let fooAccessed = false; sandbox.stub(lib, 'foo').get(() => { fooAccessed = true; return 123 }); app(); expect(fooAccessed).toEqual(true);
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sé que esta probablemente no sea la respuesta que desea, porque no uso "sinon", pero responderé de todos modos. Quizás esto te ayude de alguna manera.

Puede usar un objeto Proxy para interceptar el acceso a un objeto.

 const obj = { foo: "bar", baz: true }; let accessed = false; const proxied = new Proxy(obj, { get(target, prop) { if (prop === "foo") { accessed = true; } return target[prop]; } }); console.log(proxied, accessed); console.log(proxied.foo); console.log(proxied, accessed);

Resultado:

 { foo: 'bar', baz: true } false bar { foo: 'bar', baz: true } true
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!