jasmine-jquery loadFixtures mit Jasmin-2.0 funktioniert nicht
Habe ich damit verbracht, über einen Tag zu Debuggen, und ich bin ratlos. Es sieht aus wie etwas nicht funktioniert, in der jasmine-jquery-2.0.2.
Ich bin Aktualisierung von Jasmin 1.3.1 und jasmine-jquery 1.5 auf die neueste Version. Ich bin immer verschiedene Fehler, je nachdem, wie ich Versuch, zu laden Leuchten. Ich bekomme " Fixture konnte nicht geladen werden: ./ExposureWorksheetFixture.html (status: parsererror, Meldung: Ungültige XML" nachdem ich gezwickt jasmine-jquery Parameter der ajax.fail () - Methode.
Einen anderen Effekt habe ich, wenn ich tweak die Probe Jasmin-Läufer und tests ist es, sagt "null-Befestigungen, keine Ausfälle". Dies geschieht, wenn ich Referenz-jasmine-jquery, jquery 1.10.2, und versuchen Leuchten. Wenn ich entfernen Sie den Betrieb (aber lassen Sie die Referenzen) das Beispiel funktioniert.
Ein weiterer Fehler, den ich bekomme, wenn ich versuche zu laden, Leuchten "(status: Fehler, die Meldung: Access to restricted URI denied)". Dies scheint zu passieren, wenn es tatsächlich versucht um die Datei zu laden, die in der zugewiesenen Position. Ich sah eine andere Frage, die darauf hingewiesen, jquery erfordern einen echten web-server, um Dateien zu laden, und es nicht wie lokale Datei-Pfade, aber ich habe nicht dieses problem mit den älteren Versionen dieser Bibliotheken. Dies passiert in Firefox. Ich bekomme eine TypeError: Object doesn't support this property or method
im IE 8. In Firefox bekomme ich Error: Fixture could not be loaded: spec/javascripts/fixtures/fixture.html (status: error, message: A network error occurred.)
.
Hier einige Beispiel-code...
In PlayerSpec.js:
jasmine.getFixtures().fixturesPath = "./";
...
beforeEach(function() {
player = new Player();
song = new Song
loadFixtures("fixture.html");
});
In SpecRunner.html beachten Sie die zusätzlichen Verweise auf jquery und jasmine-jquery:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jasmine Spec Runner v2.0.0</title>
<link type="image/png" href="lib/jasmine-2.0.0/jasmine_favicon.png">
<link type="text/css" href="lib/jasmine-2.0.0/jasmine.css">
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<script type="text/javascript" src="lib/jquery-1.10.2.js"></script>
<script type="text/javascript" src="lib/jasmine-jquery.js"></script>
<!-- include source files here... -->
<script type="text/javascript" src="src/Player.js"></script>
<script type="text/javascript" src="src/Song.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="spec/SpecHelper.js"></script>
<script type="text/javascript" src="spec/PlayerSpec.js"></script>
</head>
<body>
</body>
</html>
Den Ausgang auf den Läufer (erste test - alle tests scheitern)
Jasmine2.0.0finished in 0.019s
raise exceptions5 specs, 5 failuresSpec List | Failures
Player should be able to play a Song
Error: Fixture could not be loaded: spec/javascripts/fixtures/fixture.html (status: error, message: Access to restricted URI denied) in file:///D:/Temp/jas/lib/jasmine-jquery.js (line 132)
jasmine.Fixtures.prototype.loadFixtureIntoCache_/request<@file:///D:/Temp/jas/lib/jasmine-jquery.js:132 jQuery.Callbacks/fire@file:///D:/Temp/jas/lib/jquery-1.10.2.js:3048 jQuery.Callbacks/self.add@file:///D:/Temp/jas/lib/jquery-1.10.2.js:3094 jasmine.Fixtures.prototype.loadFixtureIntoCache_@file:///D:/Temp/jas/lib/jasmine-jquery.js:131 jasmine.Fixtures.prototype.getFixtureHtml_@file:///D:/Temp/jas/lib/jasmine-jquery.js:115 jasmine.Fixtures.prototype.read@file:///D:/Temp/jas/lib/jasmine-jquery.js:77 jasmine.Fixtures.prototype.load@file:///D:/Temp/jas/lib/jasmine-jquery.js:65 jasmine.Fixtures.prototype.proxyCallTo_@file:///D:/Temp/jas/lib/jasmine-jquery.js:161 window.loadFixtures@file:///D:/Temp/jas/lib/jasmine-jquery.js:763 @file:///D:/Temp/jas/spec/PlayerSpec.js:9 attemptSync@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1510 QueueRunner.prototype.run@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1498 QueueRunner.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1485 Env/queueRunnerFactory@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:518 Spec.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:309 Suite.prototype.execute/wrapChildAsAsync/<@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1708 attemptAsync@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1520 QueueRunner.prototype.run@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1496 QueueRunner.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1485 Env/queueRunnerFactory@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:518 Suite.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1696 Suite.prototype.execute/wrapChildAsAsync/<@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1708 attemptAsync@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1520 QueueRunner.prototype.run@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1496 QueueRunner.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1485 Env/queueRunnerFactory@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:518 Suite.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1696 @file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:541 attemptAsync@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1520 QueueRunner.prototype.run@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1496 QueueRunner.prototype.execute@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:1485 Env/queueRunnerFactory@file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:518 @file:///D:/Temp/jas/lib/jasmine-2.0.0/jasmine.js:548 window.onload@file:///D:/Temp/jas/lib/jasmine-2.0.0/boot.js:170
Bearbeiten 2/13/14 @ 8:32pm est: ich habe gerade versucht nur die Updates jasmine-jquery, und alles scheitert spektakulär, wenn ich das tun (Jasmin 1.31). Ich denke es muss etwas sein, was mit dieser Bibliothek 🙁
InformationsquelleAutor VeteranCoder | 2014-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bedanken möchte ich mich travisjeffery für seine Antwort. Während es nicht die Auflösung zu meinem problem, es hat mich wieder zu versuchen, verschiedene Dinge. Die Antwort auf die konkrete Probe, die ich gepostet war, dass ich die Halterung in den Ordner mit der Skillung, das war nicht der Ordner mit dem Läufer, und der Pfad definiert ist, relativ zu dem Läufer. Aber mein problem mit meinem real-setup blieb. Da ich endlich ein funktionierendes Beispiel, ging ich an die Arbeit, herauszufinden, was ich falsch machte.
War das Hauptproblem meine HTML-Vorrichtung, während gültig, in der jasmine-jquery 1.5, war nicht mehr gültig in der version 2.0.2. Ich dachte, ich würde alle bedeckt, die syntax-Möglichkeiten, die früher durch entfernen der Stücke ein zu einer Zeit, aber als ich es getan habe wieder, ich fand, dass das entfernen mein Skript Abschnitt bekam die Vorrichtung laden. Ich legte es zurück, aber innen das html-element, eher als nach es. Ich vermute, das waren zwei root-Elemente in ein XML-Dokument, so BAM! Parse error.
Ein weiteres Problem ist, dass ich die jasmine-jquery-Skript im Läufer nach ich lade die boot.js Datei, sonst bekomme ich "0-Befestigungen 0 Fehler". Nach, dass, ich hatte zu aktualisieren Jasmin-syntax, und jetzt habe ich eine Reihe von tests wieder. Ich hoffe, das hilft anderen.
InformationsquelleAutor VeteranCoder
ich behaupte jasmine-jquery.
Jasmin und jasmine-jquery sind in Ordnung hier, das problem ist, dass die ajax-requests zum laden der Leuchte nicht erfüllen Ihre browser-security-Richtlinien. es gibt einen Abschnitt in der jasmine-jquery-README-Datei auf dieser: https://github.com/velesin/jasmine-jquery/#cross-domain-policy-problems-under-chrome
Ich lief es in chrome (nach überprüfung der Vorrichtungs-Lage-Einstellung) mit der option set, und ich bekomme
Error: Fixture could not be loaded: ./fixture.html (status: error, message: A network error occurred.)
Ich glaube, ich habe es. Ich hatte die Halterung in den gleichen Ordner wie die spec, aber der Pfad ist relativ zum Läufer. Ich habe dieses Szenario zu arbeiten, so jetzt muss ich wieder zu meiner komplizierter real-world-Projekt, das ausfällt. Vielen Dank für die Hilfe. Ich werde zu aktualisieren, mit einer bestätigten Antwort, sobald ich heraus, mein upgrade.
InformationsquelleAutor travisjeffery
Dank. Ich fügte hinzu, diese zu spec_helper.js.Kaffee:
InformationsquelleAutor nathany