Jest и console.dir не отображают весь объект - PullRequest
1 голос
/ 27 января 2020

Я пытаюсь отобразить ошибку в тесте Jest, но он не показывает все уровни.

import util from 'util'

describe('Module', () => {
  it('should show all levels WITHOUT util', () => {
    const large = {
      level1: {
        level2: {
          message: 'At level 2!',
          level3: {
            message: 'At level 3!',
            level4: {
              message: 'At level 4!',
              level5: {
                message: 'At level 5!',
              },
            },
          },
        },
      },
    }
    console.dir(large, { depth: 5 })
  })

  it('should show all levels with util', () => {
    const large = {
      level1: {
        level2: {
          message: 'At level 2!',
          level3: {
            message: 'At level 3!',
            level4: {
              message: 'At level 4!',
              level5: {
                message: 'At level 5!',
              },
            },
          },
        },
      },
    }
    console.dir(util.inspect(large, { depth: 5 }))
  })
})

Это дает мне следующие результаты

    { level1: { level2: { message: 'At level 2!', level3: [Object] } } } { depth: 5 }

    { level1:
       { level2:
          { message: 'At level 2!',
            level3:
             { message: 'At level 3!',
               level4:
                { message: 'At level 4!', level5: { message: 'At level 5!' } } } } } }

Мне показалось, что console.dir уже должен был сделать это для меня, но первый тест, который я получаю [Object] после глубины 2

Я даже создал простой тест вне Jest, и, похоже, он работает как ожидается для console.dir, кто-нибудь может объяснить, почему это происходит? Jest переопределяет, как dir ведет себя со своей собственной глубиной по умолчанию или что-то в этом роде?

const large = {
  level1: {
    level2: {
      message: 'At level 2!',
      level3: {
        message: 'At level 3!',
        level4: {
          message: 'At level 4!',
          level5: {
            message: 'At level 5!',
          },
        },
      },
    },
  },
}
console.dir(large, { depth: 5 })

Результат в ...

{ level1:
   { level2:
      { message: 'At level 2!',
        level3:
         { message: 'At level 3!',
           level4:
            { message: 'At level 4!', level5: { message: 'At level 5!' } } } } } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...