Ответ 1
Try
console.info('foo')
Из тестовых javascripts.
Я использую Jasmine через jasmine-maven-plugin, и я хотел бы видеть сообщения console.log() в выводе сборки Maven. Есть ли способ достичь этого?
Если console.log() не может быть перенаправлен, есть ли другой способ регистрации из моих тестов, чтобы они отображались на выходе сборки Maven?
Я выполняю эти тесты на Jenkins безгласным способом и хотел бы получить отладочный результат тестов.
Try
console.info('foo')
Из тестовых javascripts.
Вы можете использовать:
jasmine.log("I've got a big log.");
NB: см. ниже комментарий douglas-treadwell.
Если вы работаете в node env. Вы можете использовать
process.stdout.write( "это будет отправлено на консоль" );
Я думаю, что невозможно.
Мне пришлось перезаписать реализацию console.log в загрузчике спецификаций. i.e(с использованием jQuery):
var console = {
panel: $('body').append('<div>').css({position:'fixed', top:0, right:0,background:'transparent'}),
log: function(m){
this.panel.prepend('<div>'+m+'</div>');
}
};
console.log('message 1');
console.log('message 2');
здесь у вас есть функциональный пример
Я использую jasmine 2
через guard
и phantom js
, и обнаружил, что стандартные сообщения console.log
в тестах выводятся на консоль запуска jasmine spec run fine.
Я также обнаружил, что сообщения console.log
внутри элементов кода javascript, которые я тестирую, выписываются в сообщения stdout
, но не console.log
в самих тестах.
Перейдите в ту же проблему, используя grunt/karma/jasmine (карма-жасмин 0.2.2) -
Чтобы согласиться с тем, что сказал Дэйв Саг, я обнаружил, что все мои сообщения console.log
из кода, который я тестирую, работают нормально, однако ничто из моих describe() {}
и it() {}
ничего не блокирует.
Я обнаружил, что вы можете войти в блок beforeEach() {}
. По крайней мере, это сработало для меня:
beforeEach(function() {
this.model = new blahModel();
console.log('this.model = ', this.model);
});
Обратите внимание, что это только журналы в консоли браузера и по какой-то причине не будут входить в командную строку. Несколько странно, когда console.log операторы из проверенного кодового блока регистрируются в командной строке. Я также нашел, что, по-видимому, лучший подход для последовательного ведения журнала здесь.
UPDATE: на самом деле я вижу, что для него работает также журнал, я полагаю, что у меня были другие ошибки, которые мешали этому.
Если вы отчаянно нуждаетесь в любом выходе в окне терминала, чтобы вы могли просматривать данные после завершения теста и закрытия браузера, console.error()
, похоже, делает трюк.