我使用jasmine
、karma
和webpack
来测试我的模块。webpack在启动测试之前预处理我的测试文件。
在我的测试中,我有class Name{...}
要测试。我创建了一个新的Name
示例,然后在我的测试中,我创建了一个expect(myInstance.constructor.name).toBe("Name")
示例。
class Name{}
const myInstance = new Name();
describe("The object",function(){
it("should be the instance of Name class",function(){
expect(myInstance.constructor.name).toBe("Name"); // Expected 't' to be 'Name'.
})
});
字符串
但它返回失败的测试。我发现我的Name
类被webpack解析为捆绑文件中的t
类,myInstance.constructor.name
等于"t"
。
我可以阻止webpack更改类/构造函数的名称吗?
2条答案
按热度按时间6g8kf2rb1#
安装Terser插件以自定义Webpack
optimization
>minimizer
选项运行:字符串
或者在使用yarn的情况下:
型
然后在
webpack.config.js
中添加此优化选项:型
svmlkihl2#
分别为开发和生产进行构建设置,无论何时处于开发模式(您可以在webpack配置对象中提及),不要应用缩小插件(可能在您的webpack配置中)。
帮助链接:
您可以使用缩小插件提供的'keep_classnames'选项来保持类名不变。