javascript - Hur konfigurerar jag mocha för att skriva ut hela stackspåret för ett fel?


Jag kör följande test i Typescript med mocha:

Mocha-kommandot:

mocha -r ts-node/register -r test/config.ts --timeout 10000 --async-stack-traces --full-trace 'test/**/*.test.ts'

Test :

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
    });
});

import axios from "axios";

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

Testet misslyckas redan innan assertionen, ett fel kastas inuti funktionen postArticle. Mitt problem är att det inte talar om vilken kodrad som orsakade felet:

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)

Speciellt i mer komplexa tester skulle det vara riktigt hjälpsamt att veta vilken kodrad som orsakade felet. Hur kan jag konfigurera mocha för att visa denna rad?

Svar #1

Problemet är inte mocha utan axios. Se detta problem som orsakar den trunkerade stacktrace.