Mock-file.jsHttp Дразнящего с угловым и транспортиром
exports.httpBackendMock = function(){
angular.module('httpBackendMock', ['myApp', 'ngMockE2E'])
.run(function($httpBackend){
mockPeopleData = {
"id": 1,
"name": "Jennifer",
"gender": "Female"
};
$httpBackend.whenGET(/\api\/1\/people/).respond(mockPeopleData);
});
}
Я получаю mockPeopleData
от живой страницы в нашем приложении.
шаги для достижения: Обновить страницу> Проверить элемент> вкладка Сеть> вкладка XHR> Нажмите конечную точку из раздела «Name» на левой> Then «ответ»
я копирую этот объект и использовать его как «вещь, чтобы издеваться» в испытаниях транспортира.
Spec-file.js
var mockModule = require('./Mock-file.js');
describe('testing our mock module', function(){
beforeEach(function(){
browser.addMockModule('httpBackendMock', mockModule.httpBackendMock);
});
it('should find html content', function(){
expect(browser.isElementPresent(element(by.binding('person.name')))).to
});
});
Выше мы добавляем наш модуль, и ожидающие транспортир, чтобы найти элемент, содержащий «Дженнифер» на странице с нашей mockPeopleData.
index.html
<span>{{person.name}}</span>
В идеале, транспортир порадуется наш элемент, а затем определить его в наших тестах. Вместо этого я получаю «элемент не найден» - и я подтвердил, что этого элемента нет, сняв скриншот во время нашего теста.
browser.wait(function() {
browser.takeScreenshot().then(function(png) {
var stream = fs.createWriteStream("/tmp/screenshot.png");
stream.write(new Buffer(png, 'base64'));
stream.end();
});
}, 5000);
Вы уверены, что вы звоните 'browser.addMockModule()' 'перед browser.get()'? Благодарю. – alecxe
@alecxe yes Я вызываю 'browser.driver.get ('http: // localhost: 8000');' непосредственно перед оператором 'expect' – bruh