gpt4 book ai didi

javascript - 每个单元测试都会调用 Angular module.run 方法

转载 作者:行者123 更新时间:2023-11-28 07:31:46 25 4
gpt4 key购买 nike

各位

我为我的 Angular 应用程序设置了 jasmine-karma 单元测试设置。问题出在我的 app.js 定义的 module.ru 中,此方法正在调用自定义服务 (LoginService),该服务又调用 $http 服务。我在这里遇到的问题是,我正在测试我的 LoginService 并模拟 $http 服务,当我尝试刷新时,它会抛出错误:

 Error: Unexpected request: GET /frontend/login
No more request expected

我相信这个额外的请求来自 module.run。

 app.run(['LoginService',function(LoginService){

LoginService.checkLoginStatus().then(function(status){
console.log(status);

}, function(status){

console.log(false);

});

}]);

这是我的 plunkr 代码:http://plnkr.co/edit/f9bEH1fNTxDoxvWfajH5

最佳答案

我的问题是,在我的单元测试中,我正在引导整个应用程序

 beforeEach(module("app")).

一旦我将 Controller 、指令和服务分段到它们自己的模块中

 beforeEach(module("app.controllers"))
beforeEach(module("app.directives"))
beforeEach(module("app.services"))

然后我就不再遇到这个问题了。我配置的测试不是单元测试,而是 e2e 测试。

关于javascript - 每个单元测试都会调用 Angular module.run 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051277/

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