2016-09-27 5 views
5

モデルがStudentのLoopback APIがあります。ループバックモデルのユニットテスト

StudentモデルのノードAPIメソッドの単体テストをREST APIを呼び出さずに記述するにはどうすればよいですか?私はノードAPI自体を通してモデルをテストするためのドキュメンテーションやサンプルを見つけることができません。

誰でもお手伝いできますか? count方法

// With this test file located in ./test/thistest.js 

var app = require('../server'); 

describe('Student node api', function(){ 
    it('counts initially 0 student', function(cb){ 
     app.models.Student.count({}, function(err, count){ 
     assert.deepEqual(count, 0); 
     }); 
    }); 
}); 

あなたがREST APIを呼び出すことなく、ノードAPIをテストすることができるこの方法をテストして

+1

文脈の中では、Strongloopのドキュメントは明らかにテストを明らかに説明せず、 "strongloopjs test"のグーグルでしかこのような記事は得られません:https://strongloop.com/strongblog/howモデル自体の単体テストを行うのではなく、HTTP APIを使ってアプリをテストする-to-test-an-api-with-node-js/ –

答えて

4

例。

しかし、組み込みのメソッドの場合、このことは既にstrongloopによってテストされているので、ノードAPIをテストするのにかなり役に立たないはずです。しかし、リモート(=カスタム)メソッドの場合、まだ面白いことがあります。

EDIT: このようなことを明示しない理由は、ノードAPIが期待どおりに機能するだけでなく、ACLが正しく構成されていることを確認するために、完全なREST APIをテストする必要があるからです。 、リターンコードなどが含まれています。結局、同じことについて2つの異なるテストを書くことになります。これは時間の無駄です。 (テストを書くのが好きでない限り)

+0

あなたの答えをありがとうが、上記のコードに1つの問題があります。単体テストでは、私の実際のdbを使いたくないです。私はメモリのDBで使いたいです。その場合、メモリデータをどのように作成するのですか?ユーザーを追加する方法、メモリ内のデータベースにアクセストークンを追加する方法 また、BeforeEachフックを使用してStudentテーブルにレコードを挿入する必要があります。私はいくつかのカウント値を得ることができるように。 これは私の問題について詳しく説明しています。 –

+0

質問から推測できませんでしたが、メモリ内のデータベースを作成するのはとても簡単です([here](https://docs.strongloop.com/display/public/LB/Memory+connector)を参照)。また、あなたがメモリを使っているのか真のデータベースを使っているのかは、あなたにとって透明です。 – Overdrivr

+0

ユーザーやアクセストークンなどを追加するには、私が与えたリンクに文書化されているノードAPIを使用するだけです。ここでもう一度:http://apidocs.strongloop.com/ – Overdrivr

関連する問題