Specifiche:EmberJS Servizio iniezione per i test unitari (Ember QUnit)
- versione Ember: 1.13.8
- nodo: 0.10.33
- NPM: 2.13.4
I hanno
import Alias from "../../../services/alias";
....
moduleFor("controller:test", "Controller: test", {
integration: true,
beforeEach: function() {
this.register('service:alias', Alias, {singleton: true});
this.inject.service('alias', { as: 'alias' });
this.advanceReadiness();
},
});
...
test('Alias Alias Alias ', function(assert) {
var controller = this.subject();
//sample function
controller.send("test");
assert.equal(true, controller.alias.get("alias"), "alias should be true");
});
ho cercato di inizializzare il servizio, ma durante le prove di Ember Qunit, i controllori non hanno i servizi iniettato a loro.
Ho provato a mettere l'iniezione in: init() al posto di beforeeach, non funziona nemmeno ...
Come faccio a iniettare durante test di unità?
Inserisco punti di interruzione nel debugger per vedere se i miei controllori dispongono del servizio, non durante i test. Va bene con il servizio di brace normale, comunque.
Questo ha risolto il mio problema con la sessione ember-simple-auth in unit test –