我的测试看起来如下:
const aframeViewer = new VRMaker.AframeViewer()
let el
let panoramas
let panorama
beforeEach(() => {
panorama = { objectId: '1' }
panoramas = [panorama]
el = 'vrmaker-aframe'
})
describe('commonViewer', () => {
it('addPanoramas', () => {
const oldPanoramas = clone(panoramas)
aframeViewer.addPanoramas([{ objectId: '2' }])
expect(aframeViewer.getPanoramas()).not.toBe(oldPanoramas)
})
it('getPanoramas', () => {
expect(aframeViewer.getPanoramas()).toBe(panoramas)
})
it('getCurrentPanorama', () => {
expect(aframeViewer.getCurrentPanorama()).toBe(panorama)
})
}) 这里的问题是,aframeViewer.addPanoramas([{ objectId: '2' }])将此转化为:
[{ objectId: 1 }]投入到这个
[{ objectId: 1 }, { objectId: '2' }]因此,getPanoramas测试有一个污染变量。(getCurrentPanorama也有同样的问题。)
避免这种情况的最好方法是什么?
发布于 2018-04-13 03:55:26
let aframeViewer;并在beforeEach中添加:
aframeViewer = new VRMaker.AframeViewer()beforeEach或测试开始时做您需要做的任何事情。https://stackoverflow.com/questions/49808936
复制相似问题