3

tinytestを使用してサーバーの実行中にMeteorクライアントをテストすることは可能ですか?これがクライアントのみをテストする私の例です:

Tinytest.add("Add object to a collection", function(test) {
  var people = new Meteor.Collection("people");
  people.insert({"name": "Andrew"}, function(error, id) {
    test.isNull(error);
  });
});

ほんの一瞬、これは通過しますが、その後「待機中」の状態になります。私はまた、エラーがnullではないことを確信しています。

Meteor.Error {error: 404, reason: "Method not found", details: undefined}

彼らはクライアントが通信するためのサーバーではないので、私はこれが起こっていることを知っています。サーバーとクライアントでこのテストを実行しようとすると、クライアントで同じ問題が発生し続けます。サーバーの実行中にクライアントをテストする方法はありますか?

ありがとう、アンドリュー

4

2 に答える 2

6

new Meteor.Collectionサーバーを必要としないスタブコレクションを作成するには、引数なしで使用します。コレクションに関するドキュメントを参照してください。

名前としてnullを渡すと、ローカルコレクションが作成されます。どこにも同期されていません。これは、Mongoスタイルの検索、挿入、更新、および削除操作をサポートする単なるローカルスクラッチパッドです。

于 2013-02-20T19:17:02.710 に答える
5

これは非同期テストであるため、を使用する必要がありますaddAsync

Tinytest.addAsync("Add object to a collection", function(test, next) {
  var people = new Meteor.Collection("people");
  people.insert({"name": "Andrew"}, function(error, id) {
    test.isNull(error);
    next();
  });
});

コールバックが完了したことを示す次の引数に注意してください。

于 2013-02-20T17:38:48.357 に答える