ajb*_*ven 4 requirejs karma-runner squirejs
我们正在使用Karma和Mocha以及Squire来模拟使用RequireJs加载的依赖项.没有Squire,我们的测试运行正常,但是一旦我们初始化Squire对象,一切都开始破坏:
define(['squire'], function (Squire) {
var injector = new Squire(); // comment this out and everything works again
});
Run Code Online (Sandbox Code Playgroud)
我们发现,有时Karma报告没有运行任何测试(即使测试函数内部设置的断点会被击中),有时它会报告不应该失败的随机错误.卡玛只是有点疯狂.
如果没有我的测试疯狂,我如何使用Squire?
好的,我在找到随机github问题后解决了这个问题.我的Karma test-main.js文件加载了测试并运行了一个回调,如下所示:
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return /Spec\.js$/.test(file);
});
requirejs.config({
// ... more code here
// ask Require.js to load these files (all our tests)
deps: tests,
// start test run, once Require.js is done
callback: function () {
mocha.setup('bdd');
mocha.ignoreLeaks();
mocha.run();
}
});
Run Code Online (Sandbox Code Playgroud)
现在requirejs.config,我没有在中定义deps和callback ,而是在test-main.js的末尾添加了以下代码:
// load all tests
require(tests, function () {
// start test run once requirejs is done
mocha.setup('bdd');
mocha.ignoreLeaks();
mocha.run();
});
Run Code Online (Sandbox Code Playgroud)
一切都在游泳!非常感谢GitHub上的@FabienDeshayes.
| 归档时间: |
|
| 查看次数: |
930 次 |
| 最近记录: |