Моя проблема
Регистрация ava (t.log
) работает только внутри теста, но не во время функций настройки (before
, beforeEach
) или демонтажа (after*
).
Это означает, что значимые данные установки/разборки, которые очень полезны для отладки и воспроизведения, теряются. Это происходит как для успешных, так и для неудачных тестов, с флагом --verbose
и без него.
Код
import test from 'ava';
test.before(t => {
// This runs before all tests
t.log('before - 1');
});
test.before(t => {
// This runs after the above, but before tests
t.log('before - 2');
});
test.after('cleanup', t => {
// This runs after all tests
t.log('after');
});
test.after.always('guaranteed cleanup', t => {
// This will always run, regardless of earlier failures
t.log('after always');
});
test.beforeEach(t => {
// This runs before each test
t.log('beforeEach');
});
test.afterEach(t => {
// This runs after each test
t.log('afterEach');
});
test.afterEach.always(t => {
// This runs after each test and other test hooks, even if they failed
t.log('afterEachAlways');
});
test(t => {
t.log('A test');
t.pass();
});
test(t => {
t.log('A test');
t.fail();
});
Выход
$ ava run.js --verbose
✔ [anonymous]
ℹ A test
✖ [anonymous] Test failed via `t.fail()`
ℹ A test
1 test failed [00:22:08]
[anonymous]
ℹ A test
/Users/adam/Personal/tmp/ava-bug-log-in-before-each/run.js:46
45: t.log('A test');
46: t.fail();
47: });
Test failed via `t.fail()`
Обратите внимание, что отображаются только распечатки теста (A test
). Все остальные журналы теряются.
Мой вопрос
Как я могу просмотреть журналы этапов установки и демонтажа набора тестов?
console.log
нарушает наши рекомендации по коду (eslint с стилем airbnb), и я бы предпочел избегайте игнорирования инструкций этой строки для линтера, так как они делают код менее чистым. Надеюсь найти простой обходной путь сt.log
. - person Adam Matan   schedule 25.09.2017t.log
(вы можете проверить это, кстати), либо накопление журнала (есть некоторый внутренний массив, который он использует для нажатия строк) сбрасывается при запуске теста... Я бы открыл ошибка. - person Assaf Lavie   schedule 25.09.2017