现在我已经让实习生进行了一些测试,我想用expect.js库替换Chai断言库。 Expect.js是我使用NPM下载到项目的Node模块。我一直在寻找以下资源,以便使用Intern提供的dojo / node loader插件拼凑如何导入模块,但我还没有完全掌握它。我正在使用loader.packages,或者没有在我的测试文件中使用正确的路径来包含模块。
Can't get Intern to run Node.js Module
AMD API Wiki re:Packages
我的项目层次结构(如果有最佳实践或更好的方法,使用节点模块设置项目,我可以轻松更改层次结构)
APEFIntern/
apeform/
lib/
sinon.js - Mocking library
node_modules/
expect/
expect.js - Node package
test/
intern.js - Intern configuration
spec_inwf.js - Tests for inwf.js
inwf.js - Code to test
intern/
实习生配置文件
// ...
loader: {
// Pretty sure I need to register the package for the loader, not I'm not positive on the correct path to use.
//packages: [ 'apeform/node_modules/expect' ]
packages: [ 'apeform' ]
//packages: [ 'expect' ]
},
// Non-functional test suite(s) to run in each browser
suites: [ 'apeform/test/spec_inwf' ],
// ...
测试文件 - 我根据另一个问题中的评论尝试了不同的方式来引用节点模块。
define([
'intern!bdd',
//'intern/chai!expect',
//'intern/dojo/node!expect',
//'intern/dojo/node!./apeform/node_modules/expect/expect'
'intern/dojo/node!apeform/node_modules/expect',
'apeform/lib/sinon.js',
'apeform/inwf.js'
], function (bdd, expect) {
with (bdd) {
// Tests ...
});
我正在尝试替换Intern中存在的断言库,以便我可以针对IE 6运行我的测试。我知道有一个用于IE 6-8的Intern的Geezer分支,但看起来断言库是只有分支之间的区别,我更喜欢期望语法而不是断言。
答案 0 :(得分:1)
Expect.js安装到包含“.js”的文件夹。
尝试使用上面提到的设置'intern/dojo/node!./apeform/node_modules/expect.js'
。