相关疑难解决方法(0)

使用webpack的require.ensure函数编写javascript模块的测试

我在我的服务器上运行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)

javascript unit-testing mocha.js node.js webpack

1
推荐指数
1
解决办法
2169
查看次数

标签 统计

javascript ×1

mocha.js ×1

node.js ×1

unit-testing ×1

webpack ×1