2016-11-04 2 views
2

Я ищу способ добавить персонализированные сообщения на успешных тестах с помощью транспортира и жасмина. Там вы много способов настройки сообщений при неудаче, как пакет узла жасмин-заказ сообщения или просто:Как написать персонализированные сообщения о прошедших тестах с жасмином и транспортиром?

expect(column.get(0)).toEqual("7", "This is not something I've expected"); 

Но я не нашел способ добавления пользовательских сообщений на успех. Я использую protractor-jasmine2-html-репортер для генерации моих отчетов, но успешные тесты отображают только сообщения «пройденные» или «0», и я хотел бы более подробно рассказать о том, что я тестирую и почему тесты прошли ,

+0

К сожалению, в жасмин нет ничего для этого: https://github.com/jasmine/jasmine/issues/1127 .. – alecxe

ответ

0

Вы хотите написать пользовательский сокет для Jasmine. Вы хотите, чтобы включить их в файл protractor.conf.js поэтому они доступны по всему проекту

https://jasmine.github.io/2.0/custom_matcher.html

Вот пример сравнения чисел с сообщением распечатки, если есть ошибка. Ошибка при запуске будет Expected 7 to be 8 (Expected Error). Обратите внимание, что это включает его в спецификацию, используя beforeEach.

var customMatchers = { 
    toBeEqualWithMessage: function(util, customEqualityTesters) { 
    return { 
     compare: function(actual, expected, message) { 
     var result = {}; 
     result.pass = util.equals(actual, expected, customEqualityTesters); 
     if (!result.pass) { 
      result.message = "Expected " + actual + " to be " + expected + " (" + message + ")"; 
     } 
     return result; 
     } 
    }; 
    } 
}; 

describe('Custom Matcher', function(){ 
    beforeEach(function() { jasmine.addMatchers(customMatchers);}); 

    it('should use a matcher', function(){ 
    expect(7).toBeEqualWithMessage(7,"No error because they match"); 
    expect(7).not.toBeEqualWithMessage(8,"No error because of the 'not'"); 
    expect(7).toBeEqualWithMessage(8,"Expected Error"); 
    }); 
}); 

FYI: Док имеет result.message для прохождения дела, но я не знаю, где это используется, может быть, многословная распечатка.

+0

Как этот пользовательский соединитель помогает отображать сообщения об успешности? Похоже, он работает так же, как и обычные матчи, отображая сообщение только при ошибке. Пожалуйста, объясните более подробно. – DarthVanger

Смежные вопросы