Specs:EmberJS-Service-Injektion für Unit-Tests (Ember QUnit)
- Ember Version: 1.13.8
- Knoten: 0.10.33
- npm: 2.13.4
I haben
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");
});
Ich habe versucht, den Dienst zu initialisieren, aber während Ember Qunit Tests, Controller haben nicht die Dienste zu ihnen injiziert.
Ich habe versucht, die Injektion bei der Umsetzung: init() statt before, funktioniert auch nicht ...
Wie spritze ich es während der Unit-Tests?
Ich legte Breakpoints in den Debugger, um zu sehen, ob meine Controller den Dienst haben, tut es nicht während der Tests. Es ist jedoch gut auf normalen Glut servieren.
Dies löste mein Problem mit Ember-Simple-Auth-Sitzung in Komponententests –