Unit testing 执行无效函数后,业力单元测试不起作用
spec.ts中的单元测试代码 组件测试法Unit testing 执行无效函数后,业力单元测试不起作用,unit-testing,angular,typescript,jasmine,karma-runner,Unit Testing,Angular,Typescript,Jasmine,Karma Runner,spec.ts中的单元测试代码 组件测试法 加载菜单(lstMenu、menustring、submenustartstring、submenusendstring){ 警报(菜单提示); this.subitems=[]; 让menu=lstMenu.find(myObj=>myObj.MenuType==menustring); 如果(菜单!==null){ this.menufilter=lstMenu.filter(myObj=>myObj.MenuType.startsWith(sub
加载菜单(lstMenu、menustring、submenustartstring、submenusendstring){
警报(菜单提示);
this.subitems=[];
让menu=lstMenu.find(myObj=>myObj.MenuType==menustring);
如果(菜单!==null){
this.menufilter=lstMenu.filter(myObj=>myObj.MenuType.startsWith(submenustartstring))
.filter(x=>x.MenuType.endsWith(submenuendstring));
如果(this.menufilter.length>1){
for(让menuType=0;menuType
显示结果的单元测试失败。主要问题是警报警报(12)代码>不触发
。为什么我的警报(12)在此this.modalNota.LoadMenus(数组,'A00','A','0')之后没有命中代码>执行组件代码
我为此奋斗了一整天。请给我答案
您的expect
是否触发?是的,但我看不到警报(12)。您的expect
是否触发?是的,但我看不到警报(12)。
it('Should test LoadMenus method', () => {
let arrays = [{ "Id": 1, "MenuType": "A00", "MenuName": "Search", "UserDetail": { "UserName": "rajendranra" }
alert(11);// executed
this.modalNota.LoadMenus(arrays, 'A00', 'A', '0');
alert(12);// does not execute
expect(this.modalNota.cocmenuitems[0].MenuName).toBe('Search');
});
LoadMenus(lstMenu, menustring, submenustartstring, submenuendstring) {
alert(menustring);
this.subitems = [];
let menu = lstMenu.find(myObj => myObj.MenuType === menustring);
if (menu !== null) {
this.menufilter = lstMenu.filter(myObj => myObj.MenuType.startsWith(submenustartstring))
.filter(x => x.MenuType.endsWith(submenuendstring));
if (this.menufilter.length > 1) {
for (let menuType = 0; menuType < this.menufilter.length; menuType++) {
if (this.menufilter[menuType].MenuType !== menustring) {
this.subitems.push({
label: this.menufilter[menuType].MenuName,
routerLink: [this.GetLink(this.menufilter[menuType].MenuName)]
});
}
}
alert(menu.MenuName);
this.cocmenuitems.push({ label: menu.MenuName, routerLink: [this.GetLink(menu.MenuName)], items: this.subitems });
} else {
alert(menu.MenuName);
this.cocmenuitems.push({ label: menu.MenuName, routerLink: [this.GetLink(menu.MenuName)] });
}
}
}