我正在使用 phantomjs 运行 jasmine 测试。我的 jasmine 测试在 describe block 周围使用 require 以确保加载所有正确的模块。
我的测试不会运行,因为 page.evaluate -> jasmine.getEnv().execute();
在 requirejs 完成加载模块之前运行。
我想知道是否有人知道解决这个问题的真正好方法。我有一个答案,我将在下面发布,但很想通过其他答案来比较笔记。如果你的更好,我显然会选择它作为答案:)
最佳答案
我做了一些不同的事情——我的 HTML 页面有一个函数,包装在 require() 调用中:
var run_tests = function (specfiles) {
require(specfiles, function () {
jasmine.getEnv().execute();
});
};
然后我 page.evaluate( function (test_specs) { run_tests(test_specs) }, ['test1.spec', 'test2.spec']);
关于javascript - 如何通过 phantomjs 可靠地执行利用 requirejs 的 Jasmine 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12187669/