如何编写jasmine测试用例来检查click事件中的Toggle类功能

时间:2017-01-06 20:50:44

标签: javascript angularjs karma-jasmine

我有一个基本上在类上切换类的指令。它的工作正常。但茉莉花的测试案例有些不妥。

//toggling class
fileSearch.directive('toggleClass', function() {
   return {
     restrict: 'A',
     link: function(scope, element, attrs) {
        element.bind('click', function() {
            element.toggleClass(attrs.toggleClass);
        });
    }
};

});

Jasmine测试案例:

describe(
    'testing toggle-class directive',
    function() {
        var $compile, $rootScope;
        beforeEach(module('myApp'));

        beforeEach(inject(function(_$compile_, _$rootScope_) {
            $compile = _$compile_;
            $rootScope = _$rootScope_;
        }));

        it('should set highlight class on report title',
                function() {
                    var element = $compile("<div toggleclass='highlighted'</div>")($rootScope);
                    element.click();
                    expect(element).toHaveClass('highlighted');
                });

    });

它的抛出错误是说undefined不是“expect(element).toHaveClass('highlight');”行的构造函数 你能指导我吗?我对角度有些新意。

1 个答案:

答案 0 :(得分:1)

toHaveClass不属于Jasmine。 尝试类似:

expect(element.attr('class')).toEqual('highlighted');

我已经逮了your code here