【发布时间】:2020-08-07 18:06:09
【问题描述】:
我的项目中有一个函数,它从窗口的引导程序对象中调用一个函数。下面是函数:
export default function measurement(analObj) {
if (window.Bootsrapper._trackAnalytics === function) {
window.Bootstrapper._trackAnalytics(analObj);
}
}
我开玩笑地写了下面的代码来对这个函数进行单元测试:
import measurement from "../helpers/measurement";
describe('Test measurement', () => {
beforeAll(() => {
const Bootstrapper = {
_trackAnalytics: function(obj) {
return obj;
},
};
window.Bootstrapper = Bootstrapper;
})
test('should send analytics object to rtrack analyitics', () => {
const testObj = {
pageName: "Leave Abasence"
}
const result = measurement(testObj);
expect(testObj).toEqual(result);
})
})
对于来自测量函数调用的结果变量,我得到“未定义”,因为我无法在运行时使 window.measurement._trackAnalytics 函数可用于 measurement 函数。
我想知道:
我的方法对这个场景进行单元测试是否正确?如果是,如何在单元测试运行时使
_trackAnalytics函数可用于measurement函数。如果您知道,请提出任何其他更好的方法。
【问题讨论】:
标签: javascript unit-testing express jestjs