簡體   English   中英

摩卡沒有顯示測試用例的數量

[英]Mocha not showing count of test cases

我正在為我的測試用例使用 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

任何線索將不勝感激:)

似乎您將錯誤的 mocha 記者設置為htmltext html報告器不適合控制台, 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

希望能幫助到你

老實說,我對那件事有點困惑。 顯然,在所有包含的記者中,只有 tap 似乎包含一條評論,其中總失敗、通過和最后跳過。

我的猜測是 mocha 的創建者假設因為他們返回了一個錯誤代碼來計算失敗的次數,所以沒有必要這樣做。

將失敗測試的數量作為 RC 代碼返回的決定令人震驚,並且顯然違反了 POSIX 規范。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM