问题标签 [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.
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 的其余部分之前
jquery - $httpBackend 不模拟 $.ajax(...) 调用
尝试使用 $httpBackend 为 $.ajax 调用创建模拟。
下面的模拟片段可以正常工作$http.get('/phones')
但是当尝试使用相同的
这引发了 '/phones' ajax 调用的 404 错误。
Jsfiddler 链接在这里。
javascript - angular ngMock $httpBackend:将模拟拆分为多个文件
我正在开发一个大型 Angular 应用程序,它需要在浏览器中模拟整个 API(也称为无后端开发)。我的应用程序中有很多不同的部分和视图,每个部分都有自己的模拟定义。
我知道我可以使用ngMock
模块的$httpBackend
服务来模拟 AJAX 调用。这就是我想要的。我在 jsfiddle 找到了一个工作片段。
但是我缺少的是如何将其拆分为多个文件?正如我所说,我的应用程序将有数百个页面,甚至可能有更多的 RESTful 资源,我不能简单地将其放入一个源文件中。这作为架构问题:将数千个调用划分为简单模拟相同 API 的不同文件的最佳方法是什么(即有效、可扩展且易于维护) ?whenGET
whenPOST
如何根据项目文件结构分离模拟?应用程序中的每个模块都应该有一个单独的.run()
方法吗?我可以从 JSON 文件加载模拟吗?
我将不胜感激解释和演示
为了让回答更容易,下面是小提琴的相关部分:
javascript - 如何防止模块的运行块在测试期间被执行?
我正在尝试对我创建的角度模块提供的服务进行单元测试,但是我正在努力寻找一种方法来做到这一点,而无需在加载模块时调用模块的运行块。有人有什么想法吗?
angularjs - $HttpBackend (AngularJS) 的意外请求错误
我正在使用 HttpBackend 来模拟我的 Angular 应用程序正在进行的一些调用的一些 Http 响应。
但是,我在运行测试时收到错误“意外请求:[object Object] undefined”。
我知道通常此错误意味着您丢失或输入了应用程序发出的 $http 请求之一,因此无法找到响应。但是我的错误并不像其他通常说的“意外请求:GET api/call”那样具体,所以我不知道出了什么问题。
以前有没有人遇到过这个特定的错误?
示例代码
角度控制器:
茉莉花测试:
javascript - 如何检查 $httpBackend 中是否没有进行 GET 调用
$httpBackend 提供了检查是否进行了 HTTP 调用的方法:
我正在测试具有内部缓存的服务,我想检查它是否正常工作。这个想法是检查 GET 调用是否在第二次请求后没有进行。
我正在使用业力和茉莉花。
angularjs - 在哪里声明 ngMock 模块
我刚刚开始涉足 Angular 应用程序的单元和端到端测试。
我对应该在哪里声明 ngMock 和 ngMocke2e 模块感到困惑。我的bower.json
文件引用了 ngMock,并且该index.html
文件指向angular-mocks.js
脚本。
但是,当我在 my 的依赖项中声明 ngMock 时app.js
,应用程序将不会加载。此外,控制台中没有显示任何错误。
我需要使用这些模块进行测试,但将它们从app.js
.
angularjs - 使用 Protractor 时仅在测试上下文中加载 ngMock
我正在将 Angular 应用程序的所有量角器 E2E 测试切换到ngMock
,以便我们可以模拟我们的资源/http 调用。但是,我找不到ngMock
在那种情况下加载的推荐方法。
我当然不想将脚本本身包含在我的实时应用程序中,但我没有看到通过量角器注入额外script
元素或动态加载它的明确方法。
angularjs - 在量角器中为 ngMock httpBackend 响应动态加载 JSON
我正在量角器测试中构建一个 ngMock httpBackend。
模拟响应的默认 JSON 对象需要从文件中加载。
但是,$httpBackend 代码实际上是在浏览器上下文中执行的,而不是在 Protractor 脚本上下文中执行的,因此该mockJson
变量是未定义的。
有没有其他方法可以使这项工作?我能想到的只是某种注入的脚本标签,用于在浏览器上下文中加载 json 文件。
unit-testing - 仅在运行 karma jasmine 测试时有条件地将 ngMock 加载到应用程序中
我在包含 ngMock 时加载我的应用程序时遇到问题,所以我只想在运行测试时加载它,因为它工作正常。业力运行测试时是否设置了标志或某种 isTesting() 函数?在为我的应用程序创建依赖项数组时,我可以参考一些东西。