一、测试url参数
测试目标
/**
* @param name 获取url参数指定名称
*/
static getQueryString(name): string {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
测试方法
需在jest.config.js配置
module.exports = {
testEnvironmentOptions: {"url": "https://www.baidu.com?fps=1"},
};
test("FuncUtitlity's getQueryString()", () => {
let resA = FuncUtitlity.getQueryString("");
let resB = FuncUtitlity.getQueryString("fps");
expect(resA).toBeNull()
expect(resB).toBe("1")
})
二、测试单个文件
在jest.config.js配置
module.exports = {
testRegex: '需要测试的文件名',
};
三、测试MouseEvent
测试目标
static isLeftButton(event: MouseEvent) {
if (event.button == 0) {
return true;
}
if ((<any>event).pointerType == 'touch') {
return true;
}
return false;
}
测试方法
test("MouseActionArgsHelper's isLeftButton()", () => {
let mv1 = {
button: 0,
pointerType: 'touch'
} as unknown as MouseEvent;
let mv2 = {
button: 5,
pointerType: 'touch'
} as unknown as MouseEvent;
let mv3 = {
button: 5,
pointerType: 'mouse'
} as unknown as MouseEvent;
let resA = MouseActionArgsHelper.isLeftButton(mv1);
let resB = MouseActionArgsHelper.isLeftButton(<any>mv2);
let resC = MouseActionArgsHelper.isLeftButton(mv3);
expect(resA).toBeTruthy();
expect(resB).toBeTruthy();
expect(resC).toBeFalsy();
})