Трассировка стека Javascript при запуске шут-теста Трассировка стека VS при запуске реального приложения - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь получить трассировку стека во время выполнения для целей регистрации в приложении React.

Я делаю это, вызывая:

let stackTrace = new Error().stack;

При тестировании с Jest яполучил трассировку стека, как я и ожидал - трассировку с именами файлов, именами методов и номерами строк. Пример:

Ошибка

в Object.it (C: \ Users \ somePath \ Logger.test.js: 80: 19)

в Object.asyncFn(C: \ Users \ somePath \ jasmine-async.js: 68: 30)

при разрешении (C: \ Users \ somePath \ queueRunner.js: 38: 12)

.. .

Исходя из того, что я получил, я отфильтровал первую строку, которая всегда была методом, который сам выполнял регистрацию, в то время как я хотел вызвать контекст вызова, и поэтому первая строка это Object.it, котораяэто тест Jest.

После этого я попытался протестировать его, фактически запустив приложение реагирования и отправив сообщение бэкэнду, работающему на моем локальном хосте. Трассировка стека выглядит иначе:

Ошибка

при tryCatch (http://localhost:3000/static/js/bundle.js:101275:40)

в Generator.invoke [как _invoke] (* 1032)*

в Generator.prototype. [Как далее] (

http://localhost:3000/static/js/bundle.js:101327:21)

...

Как я могу получить трассировку стека, аналогичную той, которую я получил наТест Jest, поэтому, когда кто-то смотрит на него, он может просмотреть обычную трассировку стека?

РЕДАКТИРОВАТЬ:

После обновления моих сценариев я теперь вижу лучшую трассировку с точки зрения имениметод, который фактически записал ошибкуОднако есть ли способ получить имя файла, в котором это произошло, в исходном коде вместо "http://localhost:3000/static/js/main.chunk.js:538:82"?

...