NodeJS Mocha未显示测试用例计数

xpcnnkqh  于 2022-12-03  发布在  Node.js
关注(0)|答案(2)|浏览(143)

我使用了mocha,chai,supertest & nyc来做我的测试用例。我所有的测试用例都在按预期工作。但是我无法在最后看到测试用例的总数。

21 passing (150ms)       // <--- these counts are missing in console
1 failing (150ms)       // <--- these counts are missing in console

我不能看到有多少测试用例通过(或失败)。它只是执行它们并退出进程。
下面是我的测试用例的结构:

describe("GET /", () => {
   it("should return all users", async () => {
      await model.insertMany(users);
      const res = await request(app).get("/users");
      expect(res.status).to.equal(200);
      expect(res.body.data.length).to.equal(2);
   });
});

这是如何运行它:使用npm test

"scripts": {
    "start": "node index.js",
    "test": "NODE_ENV=test nyc --reporter=html --reporter=text mocha --exit --timeout 15000"
  }

版本号:

node - v11.15.0
npm - 6.7.0
mocha - 6.2.1
chai - 4.2.0
nyc - 14.1.1
supertest - 4.0.2

任何线索将不胜感激:)

aurhwmvo

aurhwmvo1#

似乎您将错误的摩卡报告器设置为htmltexthtml报告器不适合控制台,并且text报告器不存在。参考:https://mochajs.org/#reporters
解决方法是删除--reporter=xxx,然后Mocha将使用默认的spec报告程序,例如

"test": "NODE_ENV=test nyc mocha --exit --timeout 15000"

如果您坚持使用多报告程序,则可以使用此库https://www.npmjs.com/package/mocha-multi-reporters
希望能有所帮助

6ljaweal

6ljaweal2#

老实说,我对这件事有点困惑。显然,在所有包括记者只点击似乎包括一个评论与总失败,通过和跳过在最后。
我的猜测是,摩卡咖啡的创建者认为,因为他们返回一个错误代码,计算失败的次数,没有必要。
将失败的测试数作为RC代码返回的决定令人震惊,并且明显违反了POSIX规范。

相关问题