Ich mag würde zu Einheit der folgenden ES6 Klasse testen:Mocking JavaScript-Konstruktor mit Sinon.JS
// service.js
const InternalService = require('internal-service');
class Service {
constructor(args) {
this.internalService = new InternalService(args);
}
getData(args) {
let events = this.internalService.getEvents(args);
let data = getDataFromEvents(events);
return data;
}
}
function getDataFromEvents(events) {...}
module.exports = Service;
Wie kann ich verspotten Konstruktor mit Sinon.JS um getEvents
von internalService
zu verspotten getData
zu testen?
Ich schaute auf Javascript: Mocking Constructor using Sinon, war aber nicht in der Lage, eine Lösung zu extrahieren.
// test.js
const chai = require('chai');
const sinon = require('sinon');
const should = chai.should();
let Service = require('service');
describe('Service', function() {
it('getData', function() {
// throws: TypeError: Attempted to wrap undefined property Service as function
sinon.stub(Service, 'Service').returns(0);
});
});
Werfen Sie einen Blick auf diese Frage: [Javascript: Mocking Constructor mit Sinon] (https://stackoverflow.com/questions/14569499/javascript-mocking-constructor-using-sinon). – sdgluck
@sdgluck Ich tat, aber ich war nicht in der Lage, die Lösung für meinen Fall zu extrahieren – krl
Mögliches Duplikat von [Javascript: Mocking Constructor mit Sinon] (https://stackoverflow.com/questions/14569499/javascript-mocking-constructor- using-sinon) –