gpt4 book ai didi

requirejs - Squirejs 导致随机测试间歇性失败或根本不运行

转载 作者:行者123 更新时间:2023-12-05 01:08:24 25 4
gpt4 key购买 nike

我们使用 Karma 和 Mocha 以及 Squire 来模拟加载了 RequireJs 的依赖项。没有 Squire,我们的测试运行良好,但是一旦我们初始化 Squire 对象,一切都开始崩溃:

define(['squire'], function (Squire) {
var injector = new Squire(); // comment this out and everything works again
});

我们发现有时 Karma 报告没有运行测试(即使设置在测试函数中的断点会被命中),有时它会报告不应该失败的随机错误。 Karma 只是有点疯狂。

如何使用 Squire 而不会让我的测试变得疯狂?

最佳答案

好的,我在找到随机 github issue 后解决了这个问题.我的 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();
}
});

现在,而不是在 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();
});

一切都恢复正常了!非常感谢 GitHub 上的@FabienDeshayes 为此。

关于requirejs - Squirejs 导致随机测试间歇性失败或根本不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com