gpt4 book ai didi

angularjs - karma state go 无法解析 "..."

转载 作者:行者123 更新时间:2023-11-28 20:22:44 25 4
gpt4 key购买 nike

我正在尝试在我的 Controller 中测试一个函数,只是测试是否调用了 $state.go。我在 $state.go 上放置了一个 spy ,但是当我调用该函数时,我得到“无法从状态中解析‘thestate’...”

这是我的 Controller 的功能:

function cancel(){
$state.go('thestate', {}, {reload: true});
}

和我的测试:

it('should change state to thestate', function() {
this.scope.cancel();
});

当它运行取消函数时,我收到“无法从状态中解析‘thestate’...”的错误,但我的 route 确实有一个已定义的状态。

如何模拟状态?

最佳答案

除非单元测试中测试的是UI Router,否则ui.router模块不需要加载,$state也需要mock与当前规范中未测试的任何其他服务一样。

beforeEach(module('app', { $state: {
go: jasmine.createSpy()
}));

...

it('...', inject(function ($state) {
this.scope.cancel();
expect($state.go).toHaveBeenCalledWith('thestate', {}, {reload: true});
}));

关于angularjs - karma state go 无法解析 "...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com