Как отлавливать и регистрировать в консоли ошибку, генерируемую тестируемым кодом?

Есть ли способ получить исходную ошибку, выданную оцененным кодом? У меня есть простой набор тестов, похожий на приведенный ниже, ничего особенного.

var suite = new Benchmark.Suite;
    ...

suite.add('Collection Add', function () {
        collection.add(someArguments);
    })
    .on('cycle', function (event) {
        console.log(String(event.target));
    })
    .on('error', function (event) {
        console.log(event);
    })
    .run({'async': true});

Тестируемая функция выдает ошибку, когда получает неверные аргументы. При настройке эталона это происходит довольно часто.

Моя проблема в том, что вместо того, чтобы получить исключение, вызванное тестируемым кодом, я получаю еще одну ошибку, которая не дает мне понять, почему тестируемый код дает сбой. Я мог бы попытаться запустить его один раз перед пакетом, просто чтобы проверить, нет ли ошибок, но я считаю, что это доставляет много времени.

error: ReferenceError: collection is not defined at Benchmark.define.amd.uid14507863...

1 ответ

Я думаю, что вы должны использовать функцию обратного вызова для обработки ошибок. добавлять console.log после .run() функция:

.catch(function(err) { 
    console.log(err);
});
Другие вопросы по тегам