首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置mocha以打印错误的完整堆栈跟踪?

如何配置mocha以打印错误的完整堆栈跟踪?
EN

Stack Overflow用户
提问于 2020-12-18 18:27:29
回答 1查看 334关注 0票数 2

我使用mocha在Typescript中运行以下测试:

Mocha命令:

代码语言:javascript
复制
$ mocha -r ts-node/register -r test/config.ts --timeout 10000 --async-stack-traces --full-trace 'test/**/*.test.ts'

测试:

代码语言:javascript
复制
import assert from "assert";
import { StatusCodes } from "http-status-codes";

describe.only("My test", () => {

    it("should work properly", async () => {
        const response = await client.postArticle(testArticle);
            
        assert.strictEqual(response.status, StatusCodes.OK);
        // More test code
    });
});
代码语言:javascript
复制
import axios from "axios";

async postArticle(testArticle: any): Promise<any> {
    return axios.post(resourceByIdUrl, testArticle, {
        headers: { Authorization: `Bearer ${myToken}` }
    });
}

在断言之前测试就已经失败了,在postArticle函数内部抛出一个错误。我的问题是,它没有告诉我导致错误的代码行:

代码语言:javascript
复制
Error: Request failed with status code 401
      at createError (/.../node_modules/axios/lib/core/createError.js:16:15)
      at settle (/.../node_modules/axios/lib/core/settle.js:17:12)
      at IncomingMessage.handleStreamEnd (/.../node_modules/axios/lib/adapters/http.js:244:11)
      at IncomingMessage.emit (node:events:341:22)
      at IncomingMessage.EventEmitter.emit (node:domain:467:12)
      at endReadableNT (node:internal/streams/readable:1294:12)
      at processTicksAndRejections (node:internal/process/task_queues:80:21)

特别是在更复杂的测试中,知道哪行代码导致了错误将非常有帮助。如何配置mocha以显示此行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-22 16:00:36

问题不在于摩卡,而在于axios。请参见导致截断堆栈跟踪的this issue

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65355364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档