【问题标题】:Not able to run Intern test with non amd code无法使用非 amd 代码运行实习生测试
【发布时间】:2014-02-25 05:18:28
【问题描述】:

我正在尝试为我们的非 AMD javascript 创建和运行实习生测试用例,但无法对其进行测试。

我有一个名为 DBoard.js 的 javascript 文件,它的初始行为

DBoard.js

dojo.provide("search.DBoard");
dojo.require("search.SContainer");
....
...

我想测试上面的文件,我已经为它编写了实习测试用例

define([
        "intern!tdd",
    "intern/chai!assert"

       ],

       function (tdd, assert) {

    with(assert) {

        tdd.suite("test search.DBoard", function() {

            tdd.test("test search.DBoard", function() {

                 var dboard = new search.DBoard();
                 // assert statements

            });
        });
    }
});

它每次给我的错误是它无法找到search.Dboard。 我不知道我们如何以及在哪里可以提供这种依赖关系。我尝试使用 intern!order 但即使这样似乎也不起作用。

谁能帮我编写这段代码来测试非 AMD 代码?

【问题讨论】:

  • 嗯。您也可以要求不是 AMD 的依赖项。所以你应该可以在"intern/chai!assert" 之后添加"search/DBoard.js".js 表示它不是 AMD 模块。我实际上不知道这将如何与 DBoard 中的 dojo.require 调用一起工作。

标签: javascript dojo intern


【解决方案1】:

为了加载旧版 Dojo 模块,如果您使用的是 Dojo 1.6,则需要加载 [ 'intern/order!path/to/dojo.js', 'intern/order!path/to/DBoard.js' ] 作为依赖项。如果您使用的是 Dojo 1.7+,则需要设置 useLoader: { 'host-browser': 'path/to/dojo.js' },然后将 [ 'path/to/DBoard' ] 作为依赖项加载。有关useLoader 的更多信息,请访问documentation on using alternative loaders

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    相关资源
    最近更新 更多