2016-07-07 7 views
1

Ich versuche mein Paket zu testen, das einen Wert von Meteor.settings benötigt. Aber wenn ich den Test zu starten, bekomme ich diesen Fehler:Testen von Paketen, die auf Meteor-Einstellungen basieren

Exception while invoking method 'sendData' TypeError: Cannot read property 'appKey' of undefined 

Mein Test:

it('sends event data in proper form', function() { 
    Meteor.settings = { 
     myApp: { 
     appKey: 'thisisafakeappkey', 
     }, 
    }; 

    const post = sinon.stub(HTTP, 'post'); 

    trackEvent(event, data, user); 
    HTTP.post.restore(); 
} 

Die Methode:

Meteor.methods({ 
    'sendData'({ payload }) { 
     const appKey = Meteor.settings.myapp.appKey; 
     if (!appKey) throw new Meteor.Error('No app key found in Meteor.settings.'); 

     const withAppKey = Object.assign({ appKey }, payload); 

     HTTP.post(getRemoteUrl(), { 
     data: withAppKey, 
     }, (err, res) => { 
     if (err) console.log('err', err); 
     else console.log('res', res); 
     }); 
    }, 
    }); 
+0

Haben Sie versucht, sonething wie 'meteor test --settings your.settings.file.json' zu versuchen? – Samuel

Antwort

1

Wenn Sie Meteor verwenden 1.3 Sie könnten zumindest ein ausführen voller App-Test mit:

meteor test --full-app --settings my.settings.json --driver-package <driverpackage> 

https://guide.meteor.com/testing.html

Verwandte Themen