(コンポーネントの)コントローラがURLにGETリクエストを送信していることをテストしたいと思います。私はそれがGETリクエストを取得していない場合
httpBackend.expectGET('/some/random/url');
は、HTTPのバックエンドをスパイと失敗するだろうと期待していたので、私は失敗し、次のスペックを期待していた。
describe('myApp', function() {
var httpBackend;
beforeEach(module('myApp'));
beforeEach(inject(function($httpBackend) {
httpBackend = $httpBackend;
}));
it('sends a GET request to /some/random/url', function() {
httpBackend.expectGET('/some/random/url');
httpBackend.expect('GET', '/some/random/url');
});
});
をしかし、これは通過しているようですこれに自明
Starting the Teaspoon server...
Teaspoon running default suite at http://127.0.0.1:56255/teaspoon/default
..
Finished in 0.01200 seconds
2 examples, 0 failures
:
angular.module('myApp', []);
expectGET
がやっていることを誤解していると思います。これは私がチェックしようとしていることを確認する方法ではありません。
おかげのようにコードを変更します。 'httpBackend.verifyNoOutstandingExpectation();'は私が待っていたエラーを返します。 (したがって、明示的に要求されていない場合は、各仕様の後にフラッシュする必要があります。 – sunless
@sunless - 'afterEach'を使用して、' it'の完了後にフラッシュする必要があります。私はそれがあなたのテストがどのように構造化されているかに依存していると思います。多くの呼び出しやネストされた '仕様'を変更する必要があります。私はそれのブロックごとに1つのコール/テストを好むので、afterEachはそのように私のために働く。 – Igor