Backbone.js zombie.js visit()过早回调(使用browserify)

Backbone.js zombie.js visit()过早回调(使用browserify),backbone.js,zombie.js,Backbone.js,Zombie.js,我使用zombie测试主干应用程序,当我使用zombie.visit时,zombie会在加载页面上的所有脚本之前调用誓言回调,因此我的主干应用程序不会加载。但是,如果我等待'done'事件,即,browser.on'done',@callback则我的主干应用程序会在调用回调之前加载 是否要在收到“完成”事件后使访问函数仅回调 PS Im使用browserify加载相当大的脚本,包括主干/下划线/jquery和其他jquery插件我遇到了同样的问题,但奇怪的是,我使用了您的一些其他建议来使用“o

我使用zombie测试主干应用程序,当我使用zombie.visit时,zombie会在加载页面上的所有脚本之前调用誓言回调,因此我的主干应用程序不会加载。但是,如果我等待'done'事件,即,
browser.on'done',@callback
则我的主干应用程序会在调用回调之前加载

是否要在收到“完成”事件后使访问函数仅回调


PS Im使用browserify加载相当大的脚本,包括主干/下划线/jquery和其他jquery插件

我遇到了同样的问题,但奇怪的是,我使用了您的一些其他建议来使用“on done”来找出等待文档完全加载的方法(包括从JS Stuff动态注入的任何内容!)

其中LOGIN是指向我的登录页面的URL。html()打印出了整个页面,我看到了动态插入的元素。FWIW,我的应用程序正在使用node.ejs文件,而express.js正在动态编译;但这很可能适用于任何要用zombie测试的动态注入页面


在我看来,这看起来像是一种反模式,如果作者纠正我或发布替代方案,我会很高兴。然而,这是一个解决办法。

我遇到了同样的问题,但奇怪的是,我使用了您的一些其他建议来使用“on done”来找出等待文档完全加载的方法(包括从JS Stuff动态注入的任何内容!)

其中LOGIN是指向我的登录页面的URL。html()打印出了整个页面,我看到了动态插入的元素。FWIW,我的应用程序正在使用node.ejs文件,而express.js正在动态编译;但这很可能适用于任何要用zombie测试的动态注入页面

在我看来,这看起来像是一种反模式,如果作者纠正我或发布替代方案,我会很高兴。然而,这是一个解决办法

it('should have the correct title', function() {
    browser.on('done', function(doc) {
        console.log("DONE finally finito..");
        //console.log(browser.html());
        expect(doc.document.title).toMatch('.*Login'); 
        expect(doc.document.title).not.toEqual('XXXXX');
        asyncSpecDone(); 
    });
    browser.visit(LOGIN, function(err, doc) {
    });
    asyncSpecWait();
});