2015-09-16 3 views
4

во время выполнения теста костюма, когда что-то не удается, и появляется сообщение стеки, как этогокак отключить сообщение об ошибке стека?

Failures: 
1) Should validate labels 
    Message: 
     Failed: No element found using locator: By.cssSelector(".container h1") 
    Stack: 
     NoSuchElementError: No element found ......................... 
     ......... 
    ...... 
     .... 

мы можем выключить этот вывод стека? Я попытался

protractor conf.js --no-stackTrace 

также обновленный conf.js файла с настройками

stackTrace: false, 
    // Options to be passed to Jasmine. 
    jasmineNodeOpts: { 
    defaultTimeoutInterval: 30000, 
    includeStackTrace: false, 
    } 

но всегда показывает выходную стек, как исправить?

+0

Вы используете любые журналисты в ваших тестах? –

+0

Нет ................ – FarazShuja

ответ

3

Если вы используете и старый транспортир (< = 1,4, я думаю), установка как isVerbose и includeStackTrace к false будет работать для вас:

jasmineNodeOpts: { 
    isVerbose: false, 
    includeStackTrace: false 
} 

К сожалению, в настоящее время isVerbose или includeStackTrace не будут признаны в jasmineNodeOpts (объяснение here):

Подобно жасмин 1.3, вы можете включить jasmineNodeOpts в конфигурации файл. Однако, поскольку мы изменили бегун от «https://github.com/juliemr/minijasminenode» до «https://github.com/jasmine/jasmine-npm», параметры изменили немного . В частности, опционы print и grep являются новыми, но мы не будем использовать более длинные варианты поддержки isVerbose и includeStackTrace (за исключением, например, , «jasmine-npm» вводит эти параметры).

Смотрите также:

+0

Не знаю, зачем использовать эти параметры, все еще бросая сообщения стека. – FarazShuja

+0

@FarazShuja Я добавил дополнительную информацию в ответ. Я думаю, вы не можете сделать это «безмолвным», пока 'jasmine-npm' не поддержит' isVerbose' и 'includeStackTrace'. Я предлагаю вам создать проблему здесь https://github.com/jasmine/jasmine-npm. – alecxe

1

я успешно смог отключить Stacktraces в моем наборе тестов, используя следующие настройки в моем файле "conf.js":

... 

    framework: 'jasmine', 

    // Options to be passed to Jasmine-node. 
    jasmineNodeOpts: { 
     // If true, display spec names. 
     isVerbose : false, 

     // Use colors in the command line report. 
     showColors: true, 

     // If true, include stack traces in failures. 
     includeStackTrace : false, 

     // Default time to wait in ms before a test fails. 
     defaultTimeoutInterval: 60000, 

     // If true, print timestamps for failures 
     showTiming: true, 

     // Print failures in real time. 
     realtimeFailure: true 
    } 

    ... 

Я нашел этот вопрос GitHub (https://github.com/angular/protractor/issues/696) полезным с этим вопросом. Установка для меня флагов «isVerbose» и «includeStackTrace» для «false».

0

includeStackTrace был удален в https://github.com/angular/protractor/commit/bf5b076cb8897d844c25baa91c263a12c61e3ab3 , поэтому предыдущие ответы не сработали для меня.

Jasmine-spec-reporter изменился и больше не имеет файла protractor-configuration.md, так что совет больше не работал для меня.

Однако, несмотря на отсутствие файла protractor-configuration.md, я обнаружил, что у jasmine-spec-reporter есть рабочее решение для меня. я обнаружил, что с помощью жасмин-SPEC-репортер таким образом с транспортиром 5.2.0 в моем файле конфигурации:

setup = function() { 

    var jasmineReporters = require('jasmine-reporters'); 

    jasmine.getEnv().addReporter(new jasmineReporters.TerminalReporter({ 
     verbosity: 3, 
     color: true, 
     showStack: false })); 
} 

exports.config = { 
    onPrepare: setup 

}; 

Ключ в том, чтобы изменить значение параметра stackTrace ложь в TerminalReporter

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