我在互联网上搜索了我正在尝试做的事情的描述,但无济于事。我想为我正在构建的 Web 前端进行单元测试,该前端通过使用本地主机中的 PhantomJS 加载它直接在生产代码上运行。在加载真实站点并与 dom 交互以测试所有内容后,我想运行一个 Grunt 任务,该任务通过我的规范。我几乎在那里,但我实际上无法加载页面。
如果我在 gruntfile 中的 jasmine 选项中添加一个主机项,如下所示:
options: {
specs: 'spec/*Spec.js',
helpers: 'spec/*Helper.js',
vendor: ['app/assets/javascripts/src/libs/jquery-1.9.1.min.js', 'app/assets/javascripts/src/libs/underscore.js'],
template: require('grunt-template-jasmine-requirejs'),
host: "http://localhost:3000"
}
我每次都会收到超时错误。没有人在 Grunt 上下文中真正解决过这个问题,所以我不确定这个故事是什么,而且我没有运行异步测试。如果我将主机排除在外,它会成功运行测试,但只能通过本地文件系统在我的原始 javascript 文件上运行,而不是通过本地网络。如何配置我的模板以允许 Jasmine 测试在不同的主机上运行?
更新:
实际上,看起来 Grunt 实际上并没有对本地服务器进行轮询,它只是挂起并超时。