在端到端測試期間修改scenarios.js以模擬AJAX請求的最簡單方法是什麼?如何模擬AJAX請求?
<!doctype html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>My Test AngularJS App</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular-resource.min.js"></script>
<script language="javascript" type="text/javascript">
angular.module('myApp', ['ngResource']);
function PlayerController($scope,$resource){
$scope.player = $resource('player.json').get();
}
</script>
</head>
<body ng-controller="PlayerController">
<p>Hello {{player.name}}</p>
</body>
</html>
玩家從服務器上的一個名爲player.json的文件中獲取正確,並且以下測試通過。如何將不同的json傳入此測試並阻止提取回服務器?
/*
How do I pass in
player.json -> {"name":"Chris"}
*/
describe('my app', function() {
beforeEach(function() {
browser().navigateTo('../../app/index.html');
});
it('should load player from player.json', function() {
expect(element('p:first').text()).
toMatch("Hello Chris");
pause();
});
});
我想說的是,我沒有看到文檔的ngMockE2E例子。我正在尋找添加到scenarios.js的幾行代碼。 – Chris
如果我正確理解你的問題,你不應該需要修改scenario.js。 Caio的答案是處理這種情況的標準方法 –
好的。讓我說清楚。我不明白如何去做Caio推薦的。文檔中有一些神奇的東西,例如「之後,用這個新模塊引導你的應用程序」。如何做到這一點? – Chris