如何测试依赖于其模块本地状态的 ECMAScript 模块 (ESM)(或 JavaScript 模块)的功能?具体来说,我想模拟模块内的本地状态。
从这篇文章http://exploringjs.com/es6/ch_modules.html,我了解到:
- 模块是单例的。
- 在 ES6 中, s 是s
import上的只读视图export
因此,虽然我可以导出一个局部变量,然后从测试中导入该局部变量,然后对其进行修改,但因为它是只读的,我会得到一个错误。
Q)如何模拟 ES6 模块的本地状态?当它的类型:
- 数字?
- 目的?
- 功能?
示例sumModule.js- 我如何模拟它以设置适合测试的总和?零,可能不合适。
let sum = 0 // local state - type number example
export function addToSum (num) {
sum += num;
return sum
}