Immer ReferenceError: Can ' T find variable: beschreiben, wenn Sie versuchen zum ausführen von tests mit mocha und phantom-js
Ich habe Probleme, meine Prüfung durandal Anwendung mit Mokka mit phantomJs. Hier ist was ich getan habe:
Firt ich erstellte eine dummyPage enthalten die tests mit dem requireJs-Umgebung:
<!DOCTYPE html>
<html>
<head>
<link href="mocha.css" />
<script type="text/javascript" src="chai.js"></script>
<script type="text/javascript" src="mocha.js"></script>
<script type="text/javascript" src="../lib/jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="../lib/knockout/knockout-2.3.0.js"></script>
<script type="text/javascript" src="../lib/require/require.js"></script>
<script type="text/javascript">
require.config({
baseUrl: '../app/',
paths: {
'app': '../app',
'specs': '../sampleTest/specs/',
'text': '../lib/require/text',
'durandal': '../lib/durandal/js',
'plugins' : '../lib/durandal/js/plugins',
'transitions' : '/lib/durandal/js/transitions',
'knockout': '../lib/knockout/knockout-2.3.0',
'jquery': '../lib/jquery/jquery-1.9.1'
}
});
var runTests = function (specfiles) {
console.log('enter runTests');
require(specfiles, function () {
mocha.setup('bdd');
assert = chai.assert;
mocha.run();
});
};
</script>
</head>
<body>
</body>
</html>
Mein dummyTest so aussieht:
Konsole.log('enter dummy-test");
define(['viewmodels/flickr'], function (flickr) {
describe('Test 1', function(){
it('should append a value', function () {
var arr = [];
arr.push('foo');
arr.push('bar');
assert.equal(arr[0],'foo', 'foo is a string');
});
});
})
Wenn ich phantomJs mit der folgenden js-Datei, die ich bin immer der Fehler:
Immer ReferenceError: Can ' T find variable: beschreiben
page.onLoadFinished = function () {
page.evaluate(function (specFiles) {
runTests(specFiles);
}, specFiles);
};
page.open('mocha.htm');
InformationsquelleAutor andreaspfr | 2014-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es mir, das problem ist, dass Mokka nicht richtig initialisiert ist, bevor Sie beginnen, dass die Module mit Ihren tests. Ändern Sie Ihre
runTests
- Funktion, so dass die Initialisierung Ihrer test-Module müssen durchgeführt vor Sie geladen werden. wie diese:Ich nutze Mocha, Chai und RequireJS, und das war genug, um deine Frage zu beantworten hier, aber ich glaube nicht, verwenden PhantomJS, so kann ich nicht helfen, über dieses neue problem. Ich würde vorschlagen, die überprüfung der PhantomJS Fragen schon SO stellen Sie sicher, dass es nicht doch beantwortet worden und wenn es nicht beantwortet wird, dann Frage eine neue Frage.
InformationsquelleAutor Louis