node.js - 如何使用 Mocha 和 Zombie.js 测试 headless Express 应用

标签 node.js express mocha.js zombie.js

我正在尝试在我的新 Node.js (express) 应用程序上运行一些 Mocha/Zombie.js 测试。

现在我想在不必重新启动 Node 应用程序的情况下执行此操作。

现在,我有一个工作测试,如下所示:

var assert=require('assert')
    , Browser = require("zombie")
    ;

var browser = new Browser();
browser.site = "http://domain.com";
browser.silent = false;

describe('Home page', function(){
    describe ('Page title', function(){
        it('should open a home page', function(done){
            browser.visit('/').
            then(function(done){
                assert.equal(browser.text("title"), "My page title");
                done();
            }).fail(function(err){
                done(err);
            });
        });
    });
});

因此,当测试失败时,我会更改页面标题,重新加载应用程序,然后重新运行测试以使其通过。

我知道我可以做这样的事情:

var server = require('../server');
var browser = new Browser();

我只是不知道怎么做,而且我无法从 Mocha 和 Zombie 示例页面中看到。

如何告诉 browser.visit 访问服务器而不是真正部署的网页?

最佳答案

正如我在此处聊天时建议的那样,我正在使用 Node-supervisor - Node 应用程序的主管,我向其说明要监视的内容并在应用程序发生更改时自动重新启动应用程序。

关于node.js - 如何使用 Mocha 和 Zombie.js 测试 headless Express 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13272416/

相关文章:

node.js - 无法使用 Node 0.9 和最新的 Express 4.11.2 提供静态目录

javascript - 将其锁定在 chai 中

node.js - 无法重新启动 redis-server.service : Unit redis-server. 找不到服务

node.js - Mongoose - 在 'pre' 中间件中返回错误

protractor - Chai 和 promise 的 Chai 有什么区别

node.js - 在 node.js 缓冲区中搜索字节模式

node.js - 为什么我们不能在 Express.js 中做多个 response.send?

node.js - Express.js 究竟如何处理错误?

mocha.js - 如何在同一个代码库/package.json 中包含 Mocha 和 Karma 测试(服务器端和客户端)?

javascript - karma 自定义测试页