繁体   English   中英

使用Jasmine测试modal.open()

[英]Testing modal.open() using Jasmine

这就是我的$ scope函数。 我想通过茉莉花对此进行测试。

$scope.viewIndividualDetailsByTitle = function(details){
        $modal.open({
             templateUrl: 'components/content-management/content-assessment/partial/title_detail.html',
             controller: 'ContentAssessmentTitleDetailCtrl',
             size: 'lg',
             backdrop: 'static',
             resolve: {
             cpPortfolioTitle: function(){
                    return details;
             }
             }
        });

     };

这就是我在茉莉花中写的。

describe('Ctrl: ContentAssessmentCtrl', function(){
beforeEach(module('cmsApp'));
var ContentAssessmentCtrl, scope, modal, modalInstance, httpBackend, ContentAssessmentService, event, controller;

beforeEach(inject(function($controller, $rootScope, $modal, $httpBackend, _ContentAssessmentService_){
    scope = $rootScope.$new();
    modal = $modal;
    httpBackend = $httpBackend;
    ContentAssessmentService = _ContentAssessmentService_;

    ContentAssessmentCtrl = $controller('ContentAssessmentCtrl', {
        $scope: scope,
        ContentAssessmentService: ContentAssessmentService
    });

    modalServiceMock = {
        open: function(options) {
        }
    };

    httpBackend.whenGET('/mcw/api/content_provider_status_mapping/contentProviderStatus/3').respond();
    scope.$digest();
}));



it('should test viewIndividualDetailsByTitle', function(){
    var details = {
        contentProvider:{
            name:'Test'
        },
        title: 'Test',
        productionYear: 1,
        titleCategory:{
            name:'Test'
        },
        runningTime: 1,
        country:{
            name:'Test',
            code:'Test'
        }
    };
});

it('should show the modal', function(){
    spyOn(modal, 'open');
    expect(modal.open).toHaveBeenCalled();
});


});

但是我总是有一个错误消息:“预计将要打电话给间谍。我是茉莉花的新手,因为这是我第一次来,请耐心等待。谢谢

看起来您已经完成了测试的所有样板设置,但实际上并没有调用打开模式的函数。 在创建间谍的行之后,您可以调用:

$scope.viewIndividualDetailsByTitle();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM