0

我正在尝试使用 DalekJS 作为调试我正在开发的库的 UI 和 JS 方面的一种方式。

我有一个 html 页面,它加载了一些 js 文件,如下所示:

<script src="./../../../app/scripts/focusable-item.js"></script>
<script src="./../../../app/scripts/focus-controller.js"></script>
<script src="./../../../app/scripts/generic-focusable-item.js"></script>
<script src="./../../../app/scripts/main.js"></script>

然后在我的测试中,我只想确保可以从页面访问这些,例如:

'Test FocusController is loaded': function (test) {
    test
        .open('http://localhost:9000/grid-left-top.html')
        .execute(function () {
            try {
                new FocusController();
            } catch (exception) {
                this.assert.ok(false, 'Failed to create a FocusController: ['+exception+']');
                return;
            }

            this.assert.ok(true);
        })
        .done();
}

我总是遇到无法找到变量 FocusController 的异常,但是在 Chrome 和 Firefox 中手动加载时页面加载正常,是否有人对以下内容有任何想法:

  • 我应该等待页面完全加载吗?如果有怎么办?
  • 在 JS 支持方面使用 PhantomJS 时是否有任何已知的陷阱?
  • 有关如何进一步调试的任何指导?

干杯,马特

4

1 回答 1

1

发现我的问题是一组 grunt 文件和它启动的测试服务器。

基本上找不到js文件,我通过运行测试服务器并通过它加载页面而不是将html文件加载到浏览器中来解决这个问题。

于 2014-04-16T21:06:35.333 回答