2015-09-20 10 views
6

実際のバックエンドに依存せずにjsonレスポンスを提供することで、バックエンドを模擬してより早い開発を模索したいと考えています。フロントエンドアプリはAngularアプリで、Gulpを開発およびビルドツールとして使用しています。Angular/Gulpアプリケーション用のモックバックエンド

など。特定のapi(.../custumers/123)に静的なjson結果を返します。

おそらく既にこのためのツールがありますか?

答えて

1

私はシンプルさと迅速なセットアップのいくつかの利点を持っていたと思うjson-servergulp-json-srvと一緒に行きました。

gulpfile.jsコンフィグJSON-サーバーとプロキシに "一気のモック" タスク使用してHTTP呼び出しを開始するには:嘲笑データと

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:

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

あなたはもっと具体的になりますか? 私のgulpfileで動作しません。私は冗談で新しいので、このモックサーバーで始める方法はわからない。あなたがconnect-mockで使った "connect"オブジェクトは、宣言も注入もされていないので、どこに来るのですか? –

+0

@MarcusWolf 'connect'は[gulp-connect](https://www.npmjs.com/package/gulp-connect)パッケージ – jamiebarrow

0

これにはmock serverを使用できます。

+0

ガルプタスクとして使用できますか? –

3

を私はお勧めあなたはhttps://github.com/wongatech/angular-multimocksをチェックアウトします。これにより、apisのモックレスポンスを作成することができ、アプリ内のURLを介してリアルタイムでそれらの間を切り替えることができます。

私はこの問題を解決するためにここで作成しましたが、現在はロンドンの複数の大手企業で使用されています。あなたは以下のようなあなたのモックのそれぞれを定義

、あなたはリソースに対して複数の異なる応答を作成し、シナリオにそれらを手配することができます。ファイルmockResources.jsonは利用可能なシナリオを定義し、 は各シナリオにどのリソースのバージョンを使用すべきかを記述する。

モック例:

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

シナリオリスト例:

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

それはあなたが、別の残りの動詞、異なるURIを模擬いずれかのテストのために(応答に遅延を追加することができます遅い応答、またはあまりにもあなたにアプリを与えるより多くのライブのような感じ)。

私たちの開発の中核部分であり、受け入れテストと強く統合されています。

アウトhttp://tech.wonga.com/angular-multimocks @デモ、プロジェクトのreadmeにはそれ以上の質問を助けて幸せセットアップに関する詳細な手順を提供します。

+1

から来ています。これは非常に有望であるため、これを調べようとしていました。私はGulpを使用して実行したいです、それは可能ですか?あなたのレポでGruntタスクしか見つけられませんでした。 –

+1

残念ながら今はちょうどひどいです。問題を追加して、それを甘やかすようにしてください。これは今は頑張って計画しているものではありませんが、機能を追加して追加したり、人々にギャルプのリクエストをしてもらうことができます。それは確かに大きな追加となるでしょう。 – cconolly

+0

私はこれがあなたがそれを必要とした後であることを理解していますが、誰かがこれにつまずいた場合には、Gulpでもうまくいきます。ドキュメントは必要なものを示します – cconolly

関連する問題