首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用phantomjs-node运行Mocha测试

无法使用phantomjs-node运行Mocha测试
EN

Stack Overflow用户
提问于 2016-02-23 23:25:56
回答 1查看 393关注 0票数 0

我正在尝试使用phantomjs-node和mocha来运行一些测试

代码语言:javascript
复制
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();
            }
        });
    });
});

我用以下命令运行文件

代码语言:javascript
复制
node myFile.js

但是,当我运行该文件时,控制台中什么也没有显示,我的任何测试都没有运行,并且脚本挂起。

如果我没有使用phantomjs-node,我就能够运行并显示我的测试,用以下命令启动文件

代码语言:javascript
复制
phantomjs myFile.js

但是我需要phantomjs-node来做我的测试所需的其他事情。如何使用phantomjs-node来添加mocha?

EN

回答 1

Stack Overflow用户

发布于 2016-02-26 15:59:20

我的问题的解决方案是,首先我需要这样开始评估:

代码语言:javascript
复制
page.evaluate(function() {

我认为我必须使用page.property('evaluate').then(function() {,因为我使用的是phantomjs-node,但事实并非如此

其次,我无法从mocha查看测试结果的原因是,在我的报告器文件中,我使用callPhantom显示了结果:

代码语言:javascript
复制
window.callPhantom({ message: args.join(" ") }); 

但是对于phantomjs-node,这似乎不起作用,所以只需执行一个简单的console.log

代码语言:javascript
复制
console.log( args.join(" ") );

我使用的一个记者的例子,以及如何一起使用phantomJS和mocha的一个很好的教程可以在那里找到:

http://doublenegative.com/phantomjs-mocha-and-chai-for-functional-testing/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35581464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档