Ich versuche, ein Versprechen in einer separaten Bibliothek zu testen, die ich in meine App injiziert habe.So führen Sie Promise-Test in Jasmine
function myFunc(input) {
return new Promise(function(resolve, reject) {
···
resolve(value); // success
···
reject(error); // failure
});
};
Dies ist meine Funktion, die ein Versprechen zurück.
Ich würde ernsthaft lieben den Test in Jasmin wie diese
describe('Service: myService', function() {
var $log;
beforeEach(inject(function (_$log_) {
$log = _$log_;
}));
it('should get results', function() {
$log.log("start test");
var self = this;
myFunc(input).then(function(response) {
$log.log("success");
expect(response).toBe("response");
done();
}).catch(function(error) {
$log.log("fail");
self.fail(error);
done();
});
$log.log("end test");
});
});
Mein Test bestanden wird (nicht zu erwarten.) Und das einzige, was in meinem Protokoll wird [Test starten] und laufen [Test beenden], als ob das Versprechen vollständig ignoriert wird. Da ich nicht $ q für das Versprechen verwende, scheinen die meisten Jasmin Tipps eckig nicht hilfreich zu sein.
Irgendwelche Ideen, wie man in dieses "dann" kommt?
Dank
Danke. Ich habe das versucht, aber jetzt bekomme ich einen Timeout-Fehler. Ich denke der Thread geht irgendwie verloren. Immer noch herausfinden. – Jade