我想在这样的文件夹结构中测试一些具有依赖关系(没有ciruclar)的类(每个模块一个):
/src
/chessmen
Kings.js (extends ../core/Chessman)
Pawn.js (extends ../core/Chessman)
...
/core
Board.js (imports Refs)
Chessman.js (imports Ray)
Ray.js
Refs.js
Sides.js (imports WindRoses.js)
WindRoses
/engine
RayCaster.js
/test
/chessmen
...
/core
...
/engine
RayCaster.js (import src/core/ Refs, sides, King, Queen, board)
使用karma + Jasmine + babel预处理器进行测试时遇到麻烦
如果第一个测试用例导入并使用,说,Sides.js或King.js,似乎" eat"或者以不可能在另一个测试用例中使用导入的模块的方式使用数据
例如,test / engine / RayCaster导入一个Queen模块,但它使用对象{}(空)代替函数Queen(){...}
进行记录问题
发生了什么?
是否可以在测试用例之间重置导入(或取消它们)
由于karma按字母顺序导入文件,因此可以使用一种test / index.js来执行所有导入并按依赖关系模块顺序调用测试?
编辑:无论您在测试用例中使用哪个符号导入模块,它似乎在其他测试中都不再可用
编辑(2)问题:给定一组绘制依赖树的模块,如何继续逐步测试这棵树,从离开到根?
答案 0 :(得分:0)
看看你的模块加载器,我建议使用像karma-rollup-preprocessor
之类的karma插件在运行测试之前捆绑你的模块。这将捆绑并连接您的模块以进行测试。
您无需在files array下指定所有文件。
files: [
'test/**/*.js'
],