【发布时间】:2014-11-12 08:15:32
【问题描述】:
我正在尝试测试一段异步代码,但遗憾的是我得到了一个模糊的错误代码,我似乎无法弄清楚问题所在。测试在浏览器中运行良好,但在 phantomjs 中运行会导致:
Uncaught Script error. (:0)
测试被编写为一个 requirejs 模块,并且依赖于另一个模块。 就像我说的,这在浏览器中运行良好,并且在不进行异步测试时一切正常 在 phantomjs 中也很好。我正在使用 phantomjs 1.9.12 和 mocha-phantomjs 3.4.1。
define([ "csl" ], function( csl )
{
describe( "CSL", function()
{
it( "isLoggedIn", function( testCompleted )
{
csl.isLoggedIn().then( function( partner )
{
chai.expect( partner ).to.be.a( "object" );
testCompleted();
} )
.fail( function( error )
{
testCompleted( error );
} );
} );
} );
} );
【问题讨论】:
-
使用PhantomJS 1.9.7-15的时候会出现吗?如果是,this 可能是相关的,因为 PhantomJS 1.9.12 是一个包含 PhantomJS 1.9.8 的 npm 包。
-
我尝试使用 npm 包 PhantomJS 1.9.7-15,同样的问题。当使用 NPM 1.9.12 的最新版本时,问题仍然存在,但测试状态变为挂起而不是失败。虽然仍然抛出“脚本错误(:0)错误。所以这意味着我应该是1.9.8之前的幻影版本?
-
在我的情况下,为来自同一来源的所有文件提供帮助。尽量不要使用 CDN 或
file:方案。而是从单个服务器提供所有脚本。另见此处:github.com/mochajs/mocha/issues/165
标签: asynchronous requirejs phantomjs mocha.js mocha-phantomjs