【发布时间】:2016-01-21 04:27:23
【问题描述】:
我们的工作流程包括使用 ES6 模块。这也包括单元测试。我们import 正在测试的模块。问题是原作者决定让每个模块都返回对象,因此我们在整个代码库中都有全局单例(因为 ES6 导入的工作原理)——这是一个经典的单元测试问题。
有没有办法在每次测试后用 SystemJS “重置”所述模块?
示例单元测试(由 karma-systemjs 加载):
import MUT from './Mut' // module under test
describe('MUT', () => {
it('should do stuff', () => {
MUT.value = 'foo'
})
it('should do more stuff', () => {
// value should not be 'foo' here. How do you reset MUT?
})
【问题讨论】:
标签: unit-testing jasmine karma-runner systemjs