Ich mache eine ES6-Umschreibung für eine js-Bibliothek.ES6: Tests im Browser übergeben, fail mit phantomJS, "Variable kann nicht gefunden werden: Reflektieren"
class VerbalExpression extends RegExp {
// snipped for brevity
}
/**
* Alias for the constructor
* @return {VerbalExpression} new instance of VerbalExpression
*/
function instantiate() {
return new VerbalExpression();
}
// UMD (Universal Module Definition)
// https://github.com/umdjs/umd
if (typeof module !== 'undefined' && module.exports) { // CommonJS
module.exports = instantiate;
} else if (typeof define === 'function' && define.amd) { // AMD Module
define('VerEx', [],() => VerbalExpression);
} else { // Browser
this.VerEx = instantiate;
}
Wenn ich die Tests in meinem Browser ausführen, werden alle bestanden.
Allerdings, wenn ich die Tests im Terminal laufen lasse, erhalte ich Fehler.
❯ npm test
[email protected] test /Users/shreyasminocha/dev/open source/JSVerbalExpressions
grunt test
Running "qunit:files" (qunit) task
Testing test/index.html FFFFFFFFFFFFFFFFFFFF
>> something
>> Message: Died on test #1 global [email protected]:///Users/shreyasminocha/dev/open%20source/JSVerbalExpressions/test/tests.js:7:5: Can't find variable: Reflect
>> Actual: null
>> Expected: undefined
>> [email protected]:///Users/shreyasminocha/dev/open%20source/JSVerbalExpressions/dist/verbalexpressions.js:11:31
>> [email protected]:///Users/shreyasminocha/dev/open%20source/JSVerbalExpressions/dist/verbalexpressions.js:59:130
>> [email protected]:///Users/shreyasminocha/dev/open%20source/JSVerbalExpressions/dist/verbalexpressions.js:588:32
>> [email protected]:///Users/shreyasminocha/dev/open%20source/JSVerbalExpressions/test/tests.js:8:26
...
Warning: 20 tests completed with 20 failed, 0 skipped, and 0 todo.
20 assertions (in 91ms), passed: 0, failed: 20 Use --force to continue.
Hinweis: Ich bin die Tests auf kompilierte es6 Code ausgeführt wird, das heißt, ich laufe babel, bevor die Tests ausgeführt werden.
Ich vermute, das ist etwas mit PhantomJS zu tun. Wie bekomme ich die Tests im Terminal? Fehle ich etwas? Irgendwelche Problemumgehungen?
Wie führe ich Qunit Tests mit Puppenspieler mit Grunt? – shreyasminocha
Entschuldigung, ich nehme meinen Zugriff auf Google immer als selbstverständlich hin ... Könnte das helfen? https://dtaylor.uk/blog/2017/08/chrome-qunit/ – Vaviloff