问题标签 [ngmock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
424 浏览

javascript - 喷油器角度误差

我的APP出现以下错误

错误:[$injector:unpr ] http://errors.angularjs.org/1.3.2/$injector/unpr?p0=ProductResourceProvider%20%3C-%20ProductResource

我的场景如下,一个从 web 服务获取信息的简单应用程序,但是如果 web 服务没有实现,我想使用 ng mock 加载产品。

在我的 head 标签中,我使用了这样的代码:

我的 App.Js 定义了模块及其依赖项:

产品控制器,非常简单:

Common.Services(具有 ng-resource)

然后产品资源

我检查了拼写并没有发现任何东西,所以我确定我在这里缺少什么

在我忘记 html 的其余部分之前

0 投票
1 回答
262 浏览

jquery - $httpBackend 不模拟 $.ajax(...) 调用

尝试使用 $httpBackend 为 $.ajax 调用创建模拟。

下面的模拟片段可以正常工作$http.get('/phones')

但是当尝试使用相同的

这引发了 '/phones' ajax 调用的 404 错误。

Jsfiddler 链接在这里

0 投票
2 回答
848 浏览

javascript - angular ngMock $httpBackend:将模拟拆分为多个文件

我正在开发一个大型 Angular 应用程序,它需要在浏览器中模拟整个 API(也称为无后端开发)。我的应用程序中有很多不同的部分和视图,每个部分都有自己的模拟定义。

我知道我可以使用ngMock模块的$httpBackend服务来模拟 AJAX 调用。这就是我想要的。我在 jsfiddle 找到了一个工作片段

但是我缺少的是如何将其拆分为多个文件?正如我所说,我的应用程序将有数百个页面,甚至可能有更多的 RESTful 资源,我不能简单地将其放入一个源文件中。这作为架构问题:将数千个调用划分简单模拟相同 API 的不同文件的最佳方法是什么(即有效、可扩展且易于维护) ?whenGETwhenPOST如何根据项目文件结构分离模拟?应用程序中的每个模块都应该有一个单独的.run()方法吗?我可以从 JSON 文件加载模拟吗?

我将不胜感激解释和演示

为了让回答更容易,下面是小提琴的相关部分:

0 投票
1 回答
292 浏览

javascript - 如何防止模块的运行块在测试期间被执行?

我正在尝试对我创建的角度模块提供的服务进行单元测试,但是我正在努力寻找一种方法来做到这一点,而无需在加载模块时调用模块的运行块。有人有什么想法吗?

0 投票
1 回答
1356 浏览

angularjs - $HttpBackend (AngularJS) 的意外请求错误

我正在使用 HttpBackend 来模拟我的 Angular 应用程序正在进行的一些调用的一些 Http 响应。

但是,我在运行测试时收到错误“意外请求:[object Object] undefined”

我知道通常此错误意味着您丢失或输入了应用程序发出的 $http 请求之一,因此无法找到响应。但是我的错误并不像其他通常说的“意外请求:GET api/call”那样具体,所以我不知道出了什么问题。

以前有没有人遇到过这个特定的错误?

示例代码

角度控制器:

茉莉花测试:

0 投票
1 回答
213 浏览

javascript - 如何检查 $httpBackend 中是否没有进行 GET 调用

$httpBackend 提供了检查是否进行了 HTTP 调用的方法:

我正在测试具有内部缓存的服务,我想检查它是否正常工作。这个想法是检查 GET 调用是否在第二次请求后没有进行。

我正在使用业力和茉莉花。

0 投票
2 回答
449 浏览

angularjs - 在哪里声明 ngMock 模块

我刚刚开始涉足 Angular 应用程序的单元和端到端测试。

我对应该在哪里声明 ngMock 和 ngMocke2e 模块感到困惑。我的bower.json文件引用了 ngMock,并且该index.html文件指向angular-mocks.js脚本。

但是,当我在 my 的依赖项中声明 ngMock 时app.js,应用程序将不会加载。此外,控制台中没有显示任何错误。

我需要使用这些模块进行测试,但将它们从app.js.

0 投票
1 回答
370 浏览

angularjs - 使用 Protractor 时仅在测试上下文中加载 ngMock

我正在将 Angular 应用程序的所有量角器 E2E 测试切换到ngMock,以便我们可以模拟我们的资源/http 调用。但是,我找不到ngMock在那种情况下加载的推荐方法。

我当然不想将脚本本身包含在我的实时应用程序中,但我没有看到通过量角器注入额外script元素或动态加载它的明确方法。

0 投票
2 回答
1668 浏览

angularjs - 在量角器中为 ngMock httpBackend 响应动态加载 JSON

我正在量角器测试中构建一个 ngMock httpBackend。

模拟响应的默认 JSON 对象需要从文件中加载。

但是,$httpBackend 代码实际上是在浏览器上下文中执行的,而不是在 Protractor 脚本上下文中执行的,因此该mockJson变量是未定义的。

有没有其他方法可以使这项工作?我能想到的只是某种注入的脚本标签,用于在浏览器上下文中加载 json 文件。

0 投票
1 回答
86 浏览

unit-testing - 仅在运行 karma jasmine 测试时有条件地将 ngMock 加载到应用程序中

我在包含 ngMock 时加载我的应用程序时遇到问题,所以我只想在运行测试时加载它,因为它工作正常。业力运行测试时是否设置了标志或某种 isTesting() 函数?在为我的应用程序创建依赖项数组时,我可以参考一些东西。