Chai 檢查標記

Checkmark 是一個 Chai 外掛,用於計算測試期間所做的斷言次數。通常,在處理非同步測試時,很難確定回呼函式是否真的被呼叫。使用 Checkmark,您可以確保已進行斷言。

安裝

將 Checkmark 作為瀏覽器中的元件、CommonJS 模組或透過 AMD 包含進您的專案。

<!-- Browser -->
<script src="chai.js"></script>
<script src="chai-checkmark.js"></script>
// CommonJS
var chai = require("chai"),
    plugin = require("chai-checkmark")
chai.use(plugin)
// AMD
require(["chai", "chai-checkmark"], function(chai, plugin) {
    chai.use(plugin)
})

如何使用

describe("something", function() {
  it("should check two things", function(next) {
    expect(2).checks(next) // <-- pass in the callback

    "sync test".should.be.a("string").mark() // <-- check 1

    setTimeout(function() {
      // check 2, callback is called after the current event finishes
      "async test".should.be.a("string").mark()
    }, 500)
  })
})

API

Checkmark 建立在 Chai 的斷言函式庫之上,僅增加了兩個方法

expect(Number).check(Function).checks(Function)

這必須在 .mark() 之前呼叫,但不一定要在測試的一開始。您要設定期望 .mark() 被呼叫的次數,並選擇性地傳入一個回呼函式,在達到標記次數時呼叫。

expect(str).to.be.a("string").mark()

.mark() 加到您要由 Checkmark 追蹤的每個斷言的結尾。您可以使用 Chai 的任意數量的斷言,包括 .and,只要您以 .mark() 結束您的陳述即可。

貢獻

歡迎提交 Pull Requests。只有當它們基於 develop 分支的最新提交時,才會被合併。如果您落後於最新進度,請變基 (不要合併!) 您的變更。若要了解為什麼變基比合併更好,請查看 Git 變基的理由

簡而言之,要使您的工作副本與 develop 的最新提交保持同步,您可以使用變基功能:git pull --rebase。有關詳細資訊,請參閱 使用變基拉取