2017-11-07 1 views
0

Ich habe Probleme Einheit testen die JavaScript-Funktion listEntities. Die Schwierigkeit liegt im Spott. Die Dokumentation für Javascript Mocking/Stubbing-Bibliotheken ist ein Durcheinander. Ich hoffe, dass jemand mit Erfahrung mir den Weg zeigen kann. Hier ist der Code:wie mache ich Mock Objekte und ihre Methoden in Javascript

export const listEntities = (kind, googleDatastoreFactory) => { 
    const datastore = googleDatastoreWrapperFactory(); 
    const query = datastore.createQuery(kind); 
    return datastore.runQuery(query) 
    .then(results => (results[0])); 
}; 

export const googleDatastoreFactory =() => { 
    const Datastore = require('@google-cloud/datastore'); 
    return Datastore(); 
}; 

Hier ist mein Versuch:

describe('datastore api',() => { 
    describe('listEntities',() => { 
    const mockedGoogleDatastore = JsMockito.mock(GoogleDatastore); 
    JsMockito.when(mockedGoogleDatastore).runQuery('query').thenReturn(new Promise(resolve => resolve(['result']))); 
    JsMockito.when(mockedGoogleDatastore).createQuery('Test').thenReturn('query'); 
    const googleDatastoreFactory =() => (mockedGoogleDatastore); 
    test('should return list of items',() => { 
     listEntities('Test', googleDatastoreFactory).then(result => console.log(result)); 
    }); 
    }); 
}); 

Hier ist mein Fehler:

● datastore api › listEntities › encountered a declaration exception 

    TypeError: _jsmockito2.default.mock is not a function 

     at Suite.<anonymous> (app/api/datastore.api.test.js:7:60) 
     at Suite.<anonymous> (app/api/datastore.api.test.js:6:3) 
     at Object.<anonymous> (app/api/datastore.api.test.js:5:1) 
      at Generator.next (<anonymous>) 
      at Promise (<anonymous>) 
      at Generator.next (<anonymous>) 
      at <anonymous> 
     at process._tickCallback (internal/process/next_tick.js:188:7) 

Antwort

0

Ich landete nicht spöttisch Bibliothek/Framework. Ich habe gerade eine Dumby-Klasse erstellt.

Verwandte Themen