包含$state.includes()的单元测试控制器

8ftvxx2r  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(158)

如何在条件($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;
    });

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题