gpt4 book ai didi

javascript - 使用 Intern 测试自定义 JavaScript(不是 Node 模块)

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:02 25 4
gpt4 key购买 nike

  1. 是否可以为自定义客户端创建和运行测试套件JavaScript,不是作为 Node 模块创建的?应该如何配置有变吗?

  2. Intern 配置中有 loader 部分,指定如果我做对了,将要加载的包。是否有必要以某种方式在此处包含我的自定义 JS 代码?

  3. 当它们不属于任何 Node 包,只属于我的自定义 JS 代码时,我应该把我的测试套件放在哪里,它们应该是什么样子。换句话说,我将如何“加载”并运行它们?

我曾尝试以某种方式让它工作,但我对 Node.js 没有经验。我的尝试结果是这样的:

$ node client.js config=tests/js/intern
Defaulting to "console" reporter

最佳答案

1.您的测试模块将始终需要编写为 AMD 模块,但您可以测试您想要的任何客户端代码。在您的测试模块中,只需像任何其他模块一样将非 AMD 代码指定为依赖项,然后访问您的脚本创建的全局变量:

define([
'intern!tdd',
'intern/chai!assert',
'intern/order!myPackage/myFoo.js'
], function (tdd, assert /* note, no assignment here */) {
tdd.suite('foo suite', function () {
tdd.test('something in foo', function () {
// accessing a global variable created by `myPackage/myFoo.js`
assert.ok(window.myFoo, 'Global myFoo object should exist');
});
});
});

2。除了在 suites 数组中指定您的测试模块外,您不需要在 Intern 配置中明确执行任何操作即可使其工作。

3。需要测试的客户端应用程序的推荐目录结构如下所示:

/ - your entire application
src/
index.html - your app’s entry-point HTML
app/ - your app package, containing application-specific JavaScript to be tested
foo.js - Some module `foo`
tests/ - Intern tests for `app`
foo.js - Tests for `foo`
intern.js - Intern configuration for `app`
node_modules/
intern/

当然,这会根据您的应用程序的架构方式而有所不同,但从“从头开始”的方法来看,这是我们通常推荐的目录结构。

关于javascript - 使用 Intern 测试自定义 JavaScript(不是 Node 模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com