ho 'allenamenti' una collezione come segue:Come testare un metodo di meteora personalizzato con Velocity + Jasmine
Workouts = new Mongo.Collection('workouts');
Meteor.methods({
workoutInsert: function() {
var user = Meteor.user();
check(user._id, String);
var workout = {
completed: false,
createdAt: new Date(),
userId: user._id
};
var workoutId = Workouts.insert(workout);
return {
_id: workoutId
};
}
});
Mi chiedo:
1) Cosa sarebbe un aspetto di test di velocità + Jasmine come per questo metodo? Non sono sicuro da dove cominciare e mi piacerebbe davvero apprezzare ed esempio!
2) È la procedura migliore per definire questo metodo e chiamarlo lato client? O forse dovrei creare una classe di allenamento e aggiungere la chiamata a questo metodo da un metodo di istanza di quella classe? O dovrei forse estendere gli allenamenti per essere la sua classe e aggiungere metodi di istanza a questo?
"la pratica migliore è mantenere i metodi Meteor isolati nella directory del server" ma per quanto riguarda i metodi stub e la compensazione della latenza? –
@Kyll Non ho avuto ancora problemi con la latenza con Meteor. Se si dispone di una gestione degli abbonamenti vigente sul lato client (ad esempio l'interruzione delle sottoscrizioni per i modelli fuori vista e simili), è possibile mantenere la latenza anche con raccolte massicce. Gli stub di metodi sono qualcosa a cui mi sto ancora abituando, ma il framework di test ufficiale di Meteor Velocity fa un lavoro decente nel gestire i tuoi stub per te e finora ho avuto una buona esperienza con esso. –
Quello che intendevo è che isolando i metodi sul lato server si perde la capacità del client di anticipare le modifiche e di aggiornare l'interfaccia utente in modo ottimistico. –