Pav*_* S. 3 javascript unit-testing intern
是否可以为自定义客户端JavaScript创建和运行测试套件,而不是作为Node模块创建?那么配置应该如何改变呢?
如果我做对了,Intern配置中有一个loader部分,指定要加载的包.是否有必要以某种方式包含我的自定义JS代码?
我应该把我的测试套件放在哪里,当它们不属于任何Node包时,它们应该是什么样子,再次只是我的自定义JS代码.换句话说,我将如何"加载"并运行它们?
我试图以某种方式使它工作,而我对Node没有经验.我的尝试是这样的:
$ node client.js config=tests/js/intern
Defaulting to "console" reporter
Run Code Online (Sandbox Code Playgroud)
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');
});
});
});
Run Code Online (Sandbox Code Playgroud)
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/
Run Code Online (Sandbox Code Playgroud)
当然,这取决于您的应用程序的架构方式,但从"从头开始"的方法,这是我们通常建议的目录结构.
| 归档时间: |
|
| 查看次数: |
1104 次 |
| 最近记录: |