Cách đơn giản nhất để sửa đổi scenario.js là gì để giả lập một yêu cầu AJAX trong một bài kiểm tra đầu cuối?Làm thế nào để thử một yêu cầu 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>
Trình phát được lấy đúng từ tệp có tên player.json trên máy chủ và các kiểm tra sau đây. Làm thế nào để vượt qua json khác nhau trong thử nghiệm này và ngăn chặn lấy lại cho máy chủ?
/*
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();
});
});
Quan điểm của tôi là tôi không thấy ví dụ ngMockE2E trong tài liệu. Tôi đang tìm vài dòng mã để thêm vào scenario.js. – Chris
Bạn không cần phải sửa đổi kịch bản.js nếu tôi hiểu chính xác câu hỏi của bạn. Câu trả lời của Caio là cách tiêu chuẩn để xử lý tình huống này –
Ok. Hãy để tôi được rõ ràng. Tôi không hiểu làm thế nào để làm những gì Caio được giới thiệu. Có một số ma thuật đang được giả định bởi các tài liệu như "Sau đó, khởi động ứng dụng của bạn với mô-đun mới này". Làm thế nào để làm điều đó? – Chris