Voglio verificare che una funzione in un modulo ES6 richiami un'altra funzione che utilizza Sinon.js. Ecco il layout di base di quello che sto facendo:Verificare che una funzione richiami un'altra funzione in un modulo ES6 con Sinon.js
foo.js
export function bar() {
baz();
}
export function baz() {
...
}
test.js
import sinon from 'sinon';
import * as Foo from '.../foo';
describe('bar', function() {
it('should call baz', function() {
let spy = sinon.spy(Foo, 'baz');
spy.callCount.should.eql(0);
Foo.bar();
spy.calledOnce.should.eql(true);
});
});
Ma la spia non risponde alla chiamata a baz()
. C'è un altro modo in cui posso configurare il modulo o il test per permettere a sinon di capirlo? La mia alternativa è fare alcune asserzioni di base su qualcosa che fa baz, ma ovviamente non voglio farlo.
Da quello che ho visto online mi chiedo se questo è possibile anche con il codice presentato come-è o se ho bisogno di ristrutturarlo per ottenere quello che voglio.
Grazie per la risposta rapida. Ho pensato tanto e ho avuto la sensazione di dover adottare un approccio più black-box. – kurtmarcink