簡體   English   中英

使用Jasmine在Angular中測試錯誤回調

[英]Test error callback in Angular with Jasmine

如何在Angular控制器中測試錯誤回調,如下所示:

controller.js

  Note
    .query()
    .$promise
    .then(
      function( notes ) {
        // success
      },
      function() {
        // error
      }
    );

在我的規范中,我可以將一些隨機對象放入對queryDeferred.resolve()的調用中,並測試成功回調。 但是,如何測試錯誤情況?

spec.js

//= require spec_helper

describe( 'NoteListCtrl', function() {
  // edited for brevity...

  beforeEach( inject( function( $controller ) {

    NoteMock = {
      query: function() {
        queryDeferred = $q.defer();
        return { $promise: queryDeferred.promise };
      }
    }

    spyOn( NoteMock, 'query' ).andCallThrough();

  }));

  describe( 'Note.getNotes', function() {

    describe ( 'Note.query', function() {

      beforeEach( function() {
        $scope.getNotes();
        queryDeferred.resolve( ????? ); // What goes here?
        $rootScope.$apply();
      });

    });


  });

});

使用reject

queryDeferred.reject(someData);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM