Ich habe Tests für an addon, die in Chrom übergeben, aber in phantomjs fehlschlagen.ember testet vorbei chrom, nicht in phantomjs
Es scheint ein Problem ähnlich wie this question zu sein. Allerdings habe ich die Lösung dort ausprobiert und es hat nicht für mich funktioniert.
Der Code ist in dem oben verlinkten öffentlichen Repo verfügbar. Die Fehler werden in dem fehlerhaften Travis-Build auf GitHub gezeigt. Irgendwelche Ideen, wie man besser diagnostiziert und repariert?
EDIT - tatsächliche Fehlermeldung
Died on test #1 at http://localhost:7357/assets/test-support.js:3062
at test (http://localhost:7357/assets/test-support.js:1945)
at test (http://localhost:7357/assets/dummy.js:2090)
at http://localhost:7357/assets/dummy.js:2885
at http://localhost:7357/assets/vendor.js:150
at tryFinally (http://localhost:7357/assets/vendor.js:30)
at http://localhost:7357/assets/vendor.js:156
at http://localhost:7357/assets/test-loader.js:29
at http://localhost:7357/assets/test-loader.js:21
at http://localhost:7357/assets/test-loader.js:40
at http://localhost:7357/assets/test-support.js:6775: Can't find variable: Symbol
UPDATE
auf einem Hauch von @knownasilya Nach oben habe ich versucht, zwingen optional babel verwandeln es6.spec.symbols
auf: in ember-cli-build.js
:
module.exports = function(defaults) {
var app = new EmberAddon(defaults, {
// Add options here
+ babel: {
+ optional: ['es6.spec.symbols']
+ }
});
Allerdings - kein Glück. Es sieht jedoch wie ein es6-Übertragungsproblem aus. Habe ich die Option nicht erfolgreich bestanden? Irgendwelche anderen Hinweise? Ich werde gerne Code-Snippets veröffentlichen, wenn Sie nicht in das Repo schauen wollen. :)
UPDATE 2
Einschließlich auch:
+ includePolyfill: true
funktioniert!
Jetzt bin ich auf:
ReferenceError: Can't find variable: requestAnimationFrame
Ich bin für eine polyfill dafür auch ... aber Blick auf die testem Konfiguration für ember-collection
suchen, die eine ähnliche Konfiguration zu haben scheint, ich Beachten Sie, dass Phantomjs Test deaktiviert ist! Jetzt ist die Frage: der beste Weg, requestAnimationFrame
in phantomjs zu testen?
Ist 'Symbol' nicht eine ES6-Funktion, so würde ein ES5-Shim nicht helfen. – knownasilya
Ah ... Ich denke du hast recht - Tests sterben auch in Safari, welches "Symbol" nicht unterstützt. Aber ... ich muss mehr über den Build-Prozess wissen, aber sollte nicht babel schon transpiled haben, bevor ich in dist schreibe?Warum funktioniert es in Chrom, das auch fleckige es6 Unterstützung hat? – shaunc
Welche Bibliothek verwenden Sie, die die Funktion requestAnimationFrame verwendet? –