0

angular.mock.$httpBackendを使用するAngularサービスの単体テストに取り組んできました$http。私のテストケースはサービスにアクセスする必要があり、サービスは$httpBackend.

ただし、現在私をつまずかせている特定の問題は、angular.mock.inject()コンビニエンス メソッドがラップする関数をすぐに実行する場合と、関数のコピーを返すだけの場合があることです。ソースを見ると、これは currentSpec.isRunning というプロパティに基づいていることがわかります。これは何を意味するのでしょうか?これはテスタキュラーまたはジャスミンのプロパティですか? うさぎの穴はまだそこまで行っていませんが…

4

1 に答える 1

0

最後に確認したところ、 angular.mock.inject() の戻り値は、現在の Jasmine コンテキストのタイプに基づいていました (1.2 で mocha サポートが追加されて少し変更されたと思います)。

基本的に、仕様内 (実際には beforeEach に渡されたコールバック内) の場合:

beforeEach(function () {
    inject(function () { });
});

その後、すぐにインジェクションを実行します。ただし、まだ仕様を定義している場合:

beforeEach(inject(function () { }));

次に、関数を返します。そうしないと、テストが実行される前に実行され、あまり役に立ちません。これは、もう少し便利で冗長でない構文として提供されているようです。

于 2013-11-05T21:16:39.007 に答える