Hier zu verspotten ist die Klasse, die ich zu Test versuche:Aurelia Unit Test - Wie eine benutzerdefinierte Resolver
import {inject} from 'aurelia-framework';
import {CrudResource, DependencyFactory} from 'utils';
let commonData = {};
@inject(DependencyFactory.of(CrudResource))
export class CommonDataCache {
constructor(crudResourceFactory) {
this.crudResource = crudResourceFactory('/Common');
}
data() {
return Object.keys(commonData).length > 0 ? commonData :
this.crudResource.get().then(response => {
commonData.clientEntities = response;
return commonData;
});
}
}
ich diesen Test zu schreiben versucht bin, (veröffentlicht nur der relevante Teil der Kürze halber):
Grundsätzlich, da meine Klasse eine Fabrik der Ressource einspritzt (die Fabrik erlaubt mir nur, die injizierte Abhängigkeit vom Bau zu konfigurieren), versuche ich, eine verspottete Fabrik zu übergeben (was in einer gespotteten Abhängigkeit passieren wird) .
Das Problem, mit dem ich konfrontiert bin, ist, dass irgendwie die CommonDataCache-Klasse mit seiner regulären Abhängigkeit instanziiert wird (im Gegensatz zu meiner verspotteten). Irgendwie versteht Aurelia nicht, dass ich eine verspottete Fabrik für die 'DependencyFactory.of(CrudResource)'
Auflösung registriert habe.
Vielen Dank im Voraus.
Mögliches Duplikat von [Aurelia Einheit Test falsch gegangen (Karma/Jasmine)] (http://stackoverflow.com/questions/36271312/aurelia-unit-test-gone-wrong-karma-jasmine) – Sylvain