我正在尝试使用phantomjs-node和mocha来运行一些测试
var phantom = require('phantom');
phantom.create().then(function(ph) {
ph.createPage().then(function(page) {
page.open('http://localhost:8900').then(function(status) {
console.log(status);
if ( status === "success" ) {
page.injectJs("../node_modules/mocha/mocha.js");
page.injectJs("../node_modules/chai/chai.js");
//inject your test reporter
page.injectJs("testMocha/reporter.js");
//inject your tests
tests.forEach(function(test) {
page.injectJs(test);
})
page.property('evaluate').then(function() {
window.mocha.run();
});
}else{
ph.exit();
}
});
});
});
我用
运行文件node myFile.js
但是当我运行该文件时,控制台中没有显示任何内容,我的测试都没有运行,并且脚本挂起。
如果我没有使用phantomjs-node,我可以运行并显示我的测试,启动文件
phantomjs myFile.js
但是我需要phantomjs-node来做我的测试所需的其他事情。我如何用phantomjs-node进行摩卡?
答案 0 :(得分:0)
我的问题的解决方案是首先我需要以这种方式开始评估:
page.evaluate(function() {
我以为我必须做page.property('evaluate').then(function() {
因为我使用了phantomjs-node但事实并非如此
第二个原因我无法看到我的测试结果来自mocha是因为在我的记者文件中我用callPhantom显示结果:
window.callPhantom({ message: args.join(" ") });
但是使用phantomjs-node这似乎不起作用,所以只需做一个简单的console.log
console.log( args.join(" ") );
我使用的记者的例子和一个关于如何一起使用phantomJS和mocha的精彩教程可以在那里找到:
http://doublenegative.com/phantomjs-mocha-and-chai-for-functional-testing/