Chai チェックマーク

チェックマークはテスト中に作成されたアサーションをカウントするための Chai プラグインです。非同期テストを処理している場合、しばしばコールバックが実際に呼び出されたかどうかを判断することが難しくなります。チェックマークを使用すると、アサーションが作成されたことが確実にわかります。

インストール

ブラウザーでチェックマークを組み込むか、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

チェックマークは Chai のアサーションライブラリを利用して 2 つのメソッドを追加します

expect(Number).check(Function) または .checks(Function)

これは .mark() の前に呼び出す必要がありますが、テストの最初に置く必要はありません。 .mark() の呼び出し回数を設定し、必要に応じてマークの数が指定数に達したときに呼び出されるコールバックを渡すことができます。

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

チェックマークで追跡するすべてのアサーションの終わりに .mark() を追加します。 .and を含む Chai のアサーションを自由に使用できます。 ただし、ステートメントの最後を .mark() で閉じる必要があります。

貢献

プルリクエストは歓迎します。develop ブランチの先端から作成された場合にのみマージされます。遅延している場合は変更をリベース(マージしないでください!)してください。なぜリベースがマージよりも優れているのかについては、The Case for Git Rebase を参照してください。

簡単に言うと、ワーキングコピーを develop の先端に移動するには、リベース機能を使用できます: git pull --rebase. 詳細については、Pull with Rebase を参照してください。