2016-09-20 6 views
1

Это мой ожидать:транспортир 'toContain'

expect(mandatoryFields[index].getAttribute('class')).toContain('error'); 

Это ошибка в консоли:

Ожидаемое [ 'FormControl нг-нетронутые нг-нетронутым нг-нг действует пустой ng- valid-maxlength error '], чтобы содержать' error '.

Eventough класс содержит имя класса ERROR, транспортир все еще бросает ошибку. Что может быть причиной? Любая помощь!!!

+0

http://jsfiddle.net/ZvkuP/21/ в этой скрипке тот же выше код работает, довольно замешательство –

+0

http://jsfiddle.net/ZvkuP/22/ просто добавив угловые скобки, он начинает терпеть неудачу. JuliRalp нужна ваша помощь здесь –

ответ

1

Вместо toContain попробуйте использовать toMatch. toContain используется для проверки того, присутствует ли требуемое значение в массиве или нет. тогда как toMatch использует regex для проверки текста, присутствующего в любом значении.

+1

, но я использую это в том же файле spec: "** expect (coBorrowerVisibility.getAttribute ('class')). ToContain ('formInactive'); **", который отлично работает. Так что если это работает в этом случае, почему он не работает в вышеупомянутом месте –

0

Вы могли бы попробовать добавить пользовательский Искатель в вашем beforeEach(), затем вызвать expect(mandatoryFields[index]).toHaveClass('error');

jasmine.addMatchers([ 
toHaveClass: function() { 
     return { 
      compare: function (element, className) { 
       return { 
        pass: element.getAttribute('class').then(function (classes) { 
         return classes.split(' ').indexOf(className) !== -1||classes.split(' ').indexOf(className+"\n") !== -1; 
        }), 
        message: "Expected elemenet to have class: "+className 
       } 
      }, 
      negativeCompare: function(element, className){ 
       return { 
        pass: element.getAttribute('class').then(function (classes) { 
         return classes.split(' ').indexOf(className) !== -1||classes.split(' ').indexOf(className+"\n") === -1; 
        }), 
        message: "Expected element not to have class: " + className 
       } 
      } 
     } 
    } 
]); 
Смежные вопросы