我一直在努力使用Intern 1.1进行Intern设置的推荐目录结构。我注意到从1.0到1.1的变化影响了实习生目录所在的位置。
我注意到intern包的依赖包括dojo,但似乎是指dojo v2:“dojo”:“git + https://github.com/csnover/dojo2-core.git#1a7d8fa”我不知道为什么会这样,因为v2还没有出来。
我已经挣扎了好几天才得到一个非常简单的测试文件,但没有成功。我的层次结构是这样的:
web/ (root)
node_modules/
intern/
tests/
FilterGridTest.js
intern.js
libs/
dojo/
dijit/
dgrid/
....
ev/
grids/
FilterGrid.js (file being tested)
我的FilterGridTest.js文件的上半部分是:
define([
'intern!object',
'intern/chai!assert',
'intern/chai!expect',
'ev/grids/FilterGrid'
], function (registerSuite, assert, expect, FilterGrid) {
registerSuite({
name: 'FilterGrid Test',
...
我尝试了各种修改,实习生无法加载测试文件或者获得循环依赖性错误:
Circular dependency: *5 -> tests/FilterGridTest -> ev/grids/FilterGrid -> dojo/dom-construct -> dojo/dom-attr -> dojo/dom-prop -> dojo/dom-construct
我的intern.js文件有这个loader属性:
loader: {
//baseUrl: 'libs/',
// Packages that should be registered with the loader in each testing environment
packages: [
{ name: 'dojo', location: 'libs/dojo' },
{ name: 'dijit', location: 'libs/dijit' },
{ name: 'dgrid', location: 'libs/dgrid' },
{ name: 'put-selector', location: 'libs/put-selector' },
{ name: 'xstyle', location: 'libs/xstyle' },
{ name: 'ev', location: 'libs/ev' },
{ name: 'web', location: '.'}
]
},
其中web是我的web根目录,并且有一个package.json文件。
我不知道导致此错误的原因或解决方法。
答案 0 :(得分:1)
循环依赖关系通知不是错误。您正在使用的Dojo 1具有正确处理的循环依赖项。 Dojo 1的AMD加载程序也会报告循环依赖项,但默认情况下禁用此功能,而默认情况下它在Intern使用的加载程序中启用。