2015-09-20 44 views
6

Tôi muốn giả lập phần phụ trợ để phát triển nhanh hơn bằng cách cung cấp phản hồi json mà không cần dựa vào phần phụ trợ thực sự. Các ứng dụng lối vào là một ứng dụng góc và chúng tôi sử dụng Gulp như một công cụ phát triển và xây dựng.Phần phụ trợ giả cho ứng dụng Angular/Gulp

Ví dụ: có một api cụ thể (.../custumers/123) trả về kết quả json tĩnh.

Có lẽ đã có một công cụ gulp cho việc này không?

Trả lời

1

Tôi đã đi với json-servergulp-json-srv mà tôi nghĩ rằng có một số lợi ích của sự đơn giản và thiết lập nhanh.

gulpfile.js cấu hình để bắt đầu json-server và để proxy các cuộc gọi http sử dụng một "ngụm giả" nhiệm vụ:

gulp.task('mock', ['connect-mock'], function() { 
    jsonServer.start({ 
     data: 'db.json', 
     port: 8087 
    }); 
}); 

gulp.task('connect-mock', function() { 
    connect.server({ 
     port: 8085, 
     livereload: true, 
     middleware: function (connect, o) { 
      return [(function() { 
       var url = require('url'); 
       var proxy = require('proxy-middleware'); 
       var options = url.parse('http://127.0.0.1:8087'); 
       options.route = '/v2'; 
       return proxy(options); 
      })()]; 
     } 
    }); 
}); 

db.json với dữ liệu chế giễu:

{ 
    "customers": [ 
     { "id": 1, "name": "Johnny B" }, 
     { "id": 2, "name": "Steve G" }, 
     { "id": 3, "name": "Glenn H" } 
    ] 
+0

bạn có thể cụ thể hơn không? không hoạt động trong gulpfile của tôi. Tôi mới ở gulp vì vậy idont biết làm thế nào để bắt đầu với máy chủ giả này. "kết nối" -object mà bạn sử dụng trong kết nối-mô phỏng, không được khai báo hoặc tiêm, do đó, nơi nó đến? –

+0

@MarcusWolf 'connect' xuất phát từ gói [gulp-connect] (https://www.npmjs.com/package/gulp-connect) – jamiebarrow

0

Bạn có thể sử dụng mock server cho việc này.

+0

Nó có thể được sử dụng như một nhiệm vụ gulp không? –

3

Tôi khuyên bạn nên bạn hãy kiểm tra https://github.com/wongatech/angular-multimocks. Điều này cho phép bạn tạo các câu trả lời giả cho apis của bạn và cho phép bạn chuyển đổi giữa chúng theo thời gian thực thông qua url trong ứng dụng của bạn.

Ban đầu, chúng tôi đã tạo ra nơi tôi làm việc để giải quyết vấn đề chính xác này và hiện đang được sử dụng trong nhiều công ty công nghệ lớn ở Luân Đôn.

Bạn xác định mỗi mocks của bạn như dưới đây, bạn có thể tạo nhiều phản hồi khác nhau cho tài nguyên và sau đó sắp xếp chúng thành các tình huống. Tệp mockResources.json xác định các tình huống có sẵn và mô tả phiên bản của mỗi tài nguyên sẽ được sử dụng cho từng trường hợp.

dụ Mock:

{ 
    "httpMethod": "GET", 
    "statusCode": 200, 
    "uri": "/customer/cart", 
    "response": { 
    "id": "foo" 
    } 
} 

Kịch bản Bảng liệt kê Ví dụ:

{ 
    "_default": [ 
    "root/_default.json", 
    "account/anonymous.json", 
    "orders/_default.json" 
    ], 
    "loggedIn": [ 
    "account/loggedIn.json" 
    ] 
} 

Nó cho phép bạn thử các động từ còn lại khác nhau, URI khác nhau, thêm sự chậm trễ để trả lời (cho cả hai thử nghiệm phản hồi chậm hoặc chỉ cung cấp cho bạn ứng dụng cảm giác sống động hơn).

Đó là một phần cốt lõi trong quá trình phát triển của chúng tôi và được tích hợp mạnh mẽ với thử nghiệm chấp nhận của chúng tôi.

Thanh toán bản trình diễn @http://tech.wonga.com/angular-multimocks, readme dự án cung cấp hướng dẫn chi tiết về cách thiết lập sẵn lòng trợ giúp với bất kỳ câu hỏi nào khác.

+1

Tôi sắp xem xét điều này, bởi vì nó có vẻ rất hứa hẹn. Tôi muốn chạy bằng cách sử dụng Gulp, là có thể? Tôi chỉ có thể tìm thấy các nhiệm vụ Grunt trong repo của bạn. –

+1

Hiện tại chỉ tiếc là không vui lòng - hãy thêm một vấn đề để làm cho nó có thể nuốt chửng.Nó không phải là một cái gì đó chúng tôi có kế hoạch làm chặt bây giờ nhưng cảm thấy tự do để ngã ba và thêm các chức năng hoặc nhận được mọi người để swarm chúng tôi với yêu cầu cho gulp. Nó chắc chắn sẽ là một bổ sung tuyệt vời. – cconolly

+0

Tôi nhận ra điều này là tốt sau khi bạn cần nó, nhưng trong trường hợp bất cứ ai tình cờ khi điều này nó bây giờ làm việc với Gulp là tốt. Các tài liệu cho thấy những gì cần thiết – cconolly

Các vấn đề liên quan