私は、ユーザーのメッセージを取得できるサービスを表す "Messages"注射可能なものを持っています。このクラスは、ユーザーの資格情報を使用してバックエンドにログインする「データベース」クラスに依存します。角2依存注入:複数のインスタンスを注入する
は、今は、ユーザ1から送信されたメッセージは、従ってユーザ2
の受信トレイに直接到達するかどうかを自動的にテストするために、2人のユーザーが同時にログインしている間にテストケースを作成したいです2つの異なる「メッセージ」インスタンスに、「データベース」という2つの異なるインスタンスを注入する方法が必要です。
私は次のことを試してみました:
beforeEachProviders(() => [
Messages, Database
]);
beforeEach(inject([Messages], (msg) => {
this.msg1 = msg;
}));
beforeEach(inject([Messages], (msg) => {
this.msg2 = msg;
}));
しかし、MSG1とMSG2は、「メッセージ」の同じインスタンスを表していることが判明:
it('testcase',() => {
// this.msg1 == this.msg2;
});
は、それが作成するために、インジェクタを伝えることは可能です"メッセージ"とその依存関係の異なるインスタンス?
ありがとう、私はこのエラーが表示されます:http://pastebin.com/raw/56N7sfZ9私はこのコードを使用しました:http://pastebin.com/raw/5kh2ZHvD – highwaychile
申し訳ありません、あまりにも早く入力してください:私はこのエラーを受け取ります:pastebin.com/raw/56N7sfZ9私はこのコードを使用しました:pastebin.com/raw/5kh2ZHvD – highwaychile
私はそれがどのように子インジェクタを作成するのが間違っています。私は自分の答えを更新しました。 –