如何在条件($state.includes())中对代码进行单元测试
this.state = $state; // in constructor
...
if (this.scope.includes("myState0"))
{
// do T0
}
else if (this.scope.includes("myState1"))
{
// do T1
}
// .....
else if (this.scope.includes("myState14"))
{
// do T14
}
else
{
// do something
}
我试图通过这样做来设置此状态
controller.state.current.name = "myState0";
但是这个.state.includes(“mystate0”)在控制器中为false。有什么想法吗?
我也试过了
controller.state.go('myState')
仅供参考:我找到了一个解决方案,但我认为这是一个黑客创建新功能
在测试中,我们使用param模拟state.includes()
controller.state.current.name = 'state';
spyOn(controller.state, "includes").and.callFake(function (param) {
return controller.state.current.name === param;
});
暂无答案!
目前还没有任何答案,快来回答吧!