量角器模拟 jQuery ajax
Protractor mocking jQuery ajax
是否可以通过 Protractor 在 AngularJs 应用程序中模拟 jQuery.ajax 请求(由于 Kendo UI 的数据源而被调用)?
二手Script/Framework等
- 量角器
- jQuery
- jsdom
- 莫贾克斯
我尝试使用以下脚本(没有 ajax 请求被嘲笑)
var jsdom = require("jsdom");
var jQuery;
var mockjax;
jsdom.env("", function(err, window) {
if (err) { console.error(err); return; }
jQuery = require("../jquery-2.2.4.js")(window);
mockjax = require('../jquery.mockjax.js')(jQuery, window);
});
describe('Websuite: TemplateTest', function() {
beforeEach(function(){
jQuery.mockjax({ url: "/XYZ/GetMails" });
});
it('some mocking test', function() {
browser.get('https://localhost:44300/#/dat/templateTest');
browser.pause();
});
});
我什至不确定是否可以在量角器中模拟 jQuery.ajax 调用(就像我们对 $http 和 $httpBackend 所做的那样)
我认为您需要使用 browser.addMockModule 将此模拟注入您的 Web 应用程序。然后你的 jquery ajax 请求将被模拟。
browser.addMockModule('httpBackendMock', function() {
angular.module('httpBackendMock', [])
.run(function () {
/**
* I assume your web application has jQuery mockjax library for testing.
* If doesn't exist, you need to inject/include jquery mockjax library into your web application.
**/
jQuery.mockjax({ url: "/XYZ/GetMails" });
});
});
注入此模拟模块后,您的请求将由模拟响应。
希望这对你有用。
是否可以通过 Protractor 在 AngularJs 应用程序中模拟 jQuery.ajax 请求(由于 Kendo UI 的数据源而被调用)?
二手Script/Framework等
- 量角器
- jQuery
- jsdom
- 莫贾克斯
我尝试使用以下脚本(没有 ajax 请求被嘲笑)
var jsdom = require("jsdom");
var jQuery;
var mockjax;
jsdom.env("", function(err, window) {
if (err) { console.error(err); return; }
jQuery = require("../jquery-2.2.4.js")(window);
mockjax = require('../jquery.mockjax.js')(jQuery, window);
});
describe('Websuite: TemplateTest', function() {
beforeEach(function(){
jQuery.mockjax({ url: "/XYZ/GetMails" });
});
it('some mocking test', function() {
browser.get('https://localhost:44300/#/dat/templateTest');
browser.pause();
});
});
我什至不确定是否可以在量角器中模拟 jQuery.ajax 调用(就像我们对 $http 和 $httpBackend 所做的那样)
我认为您需要使用 browser.addMockModule 将此模拟注入您的 Web 应用程序。然后你的 jquery ajax 请求将被模拟。
browser.addMockModule('httpBackendMock', function() {
angular.module('httpBackendMock', [])
.run(function () {
/**
* I assume your web application has jQuery mockjax library for testing.
* If doesn't exist, you need to inject/include jquery mockjax library into your web application.
**/
jQuery.mockjax({ url: "/XYZ/GetMails" });
});
});
注入此模拟模块后,您的请求将由模拟响应。
希望这对你有用。