我在我的服务器上运行mocha测试,测试源脚本是一种独立的单元测试方式.
我正在测试的一个脚本调用Webpack的require.ensure函数,这对于在Webpack捆绑时在应用程序中创建代码分割点很有用.
我为此脚本编写的测试不在Webpack上下文中运行,因此该require.ensure函数不存在,并且测试失败.
我试图为这个函数创建一些polyfill/stub/mock/spy但是没有任何运气.
有一个包,webpack-require,它允许创建webpack上下文.这可行,但速度慢得令人无法接受.我希望有一种require.ensure直接针对该功能的轻量级polyfill .
有什么建议?:)
这是一个非常基本的起点摩卡测试.
mocha测试加载一个包含一个方法的人工模块,如果require.ensure定义了该方法则返回true .
foo.js
export default {
requireEnsureExists: () => {
return typeof require.ensure === 'function';
}
};
Run Code Online (Sandbox Code Playgroud)
foo.test.js
import { expect } from 'chai';
describe('When requiring "foo"', () => {
let foo;
before(() => {
foo = require('./foo.js');
});
it('The requireEnsureExists() should be true', () => {
expect(foo.requireEnsureExists()).to.be.true;
});
});
Run Code Online (Sandbox Code Playgroud)