Intern网站上的教程从使用npm获取实习开始,但我下载了最新版本的Intern源代码。 (我没有使用npm)我的app文件夹结构就像这样
|myapp
|app
|tests
|unit
|functional
main.js
|third-party
|dojo-release-1.10.6
|intern-3.4.2
index.html
现在在我的index.html中,我在我的包config
中添加了以下内容 packages: [
{ name: 'dojo', location: 'third_party/dojo-release-1.10.6-src/dojo' },
{ name: 'intern', location: 'third_party/intern-3.4.2' },
],
在此之后,我在哪里放置intern.js?
答案 0 :(得分:0)
除了使用npm之外,使用Intern的基本过程与本教程中概述的相同。编写单元测试,然后使用Intern的三个测试运行器之一(intern-client
,intern-runner
或client.html
)来实际运行测试。
您不需要在应用程序包列表中包含Intern。相反,您将在您的实习测试配置中的loaderOptions
对象中包含您的应用包。
您的测试如何与您的应用程序交互取决于您正在编写的测试类型。对于单元测试,您的单元测试套件将加载应用程序的各个部分,然后对它们运行测试。对于功能测试,您的测试(通过Intern)将告诉浏览器加载运行您的应用程序的测试页面,然后告诉浏览器采取各种操作。
// unit test
define([ 'intern!object', 'myApp/myModule' ], function (registerSuite, mod) {
registerSuite({
name: 'myApp/myModule',
'#someFunction': function () {
var value = mod.someFunction(...);
// make assertion about value
}
});
});
// functional test
define([ 'intern!object' ], function (registerSuite) {
registerSuite({
name: 'myApp/myModule',
'#someFunction': function () {
return this.remote.get('myTestPage.html')
.findById('someButton')
.click()
// make assertions about state of elements on the page
}
});
});
Intern本身是一个Dojo项目,默认情况下使用自己的自定义版Dojo来加载模块。这可能足以进行单元测试。如果不是,那么您需要在测试配置中设置loaders
以指向您自己的Dojo dojo.js
(加载器的路径应该与Intern的dojo/loader.js
相对)。< / p>