Ich verwende Yeoman, um mein Projekt zu rüsten. Es kommt mit einigen handlichen Dingen, einschließlich einer PhantomJS-basierten Test-Runner.Mokka-Tests mit Yeoman und PhantomJS
Mein Problem ist, dass, während meine Tests im Browser korrekt ausgeführt werden, sie eine Zeitüberschreitung beim Versuch, sie mit PhantomJS in der CLI auszuführen.
Hier ist, wie mein Test index.html
wie folgt aussieht:
<!doctype html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Mocha Spec Runner</title>
<link rel="stylesheet" href="lib/mocha/mocha.css">
</head>
<body>
<div id="mocha"></div>
<script src="lib/mocha/mocha.js"></script>
<!-- assertion framework -->
<script src="lib/chai.js"></script>
<!-- include source files here... -->
<script data-main="scripts/main" src="scripts/vendor/require.js"></script>
<script>
mocha.setup({ui: 'bdd', ignoreLeaks: true});
expect = chai.expect;
should = chai.should();
require(['../spec/map.spec'], function() {
setTimeout(function() {
require(['../runner/mocha']);
}, 100);
});
</script>
</body>
</html>
Hier map.spec.js
:
require(['map'], function (Map) {
describe('Choropleth Map Generator', function() {
describe('Configure the map', function() {
it("should enforce mandatory parameters in the configuration", function() {
var config = {title: 'test configuration'};
var map = new Map(config);
(function() {
map.getConfig();
}).should.throw(Error);
});
});
});
});
Nun, wenn ich yeoman test
tun, ich diese:
Running "server:phantom" (server) task
Starting static web server on port 3501
[...]
Running "mocha:all" (mocha) task
Testing index.html
<WARN> PhantomJS timed out, possibly due to a missing Mocha run() call. Use --force to continue. </WARN>
Aborted due to warnings.
Wie gesagt , yeoman server:test
zeigt meine Behauptungen korrekt in der br Owser.
Ich benutze Yeoman 0.9.6 und PhantomJS 1.7.0. Jede Hilfe wird geschätzt.
Es ist die Standardeinstellung, die durch 'Yeoman init'. Das ist - 'Mokka: { alle: ['test/**/*. Html'] },' –
Das hat es für mich funktioniert, aber vom ersten Versuch an. Weitere Details hier - https://github.com/yeoman/yeoman/issues/719 –
Hier ist eine Arbeitsvorlage: https://github.com/roblevintennis/yeoman_requirejs_template – Rob