chai-backbone

Build Status NPM Version

chai-backboneはBackbone固有のアサーションを提供するchaiアサーションライブラリの拡張です。

アサーションは、chaiのexpectまたはshouldアサーションで使用します。

依存関係

アサーション

trigger

model.should.trigger("change", { with: [model] }).when(function() {
  model.set({ attribute: "value" });
});

さらにチェーンすることもできます

model.should.trigger("change").and.trigger("change:attribute").when(function() {
  model.set({ attribute: "value" });
});

model.should.trigger("change").and.not.trigger("reset").when(function() {
  model.set({ attribute: "value" });
});

route.to

ルートが正しいルーターに委任され、引数が期待どおりに抽出されているかどうかをテストします。

"page/3".should.route.to(myRouter, "openPage", { arguments: ["3"] });
"pages/3".should.not.route.to(myRouter, "openPage");
"page/3".should.route.to(myRouter, "openPage", { considering: [conflictingRouter] });

call

このアサーションは、ビューのコールバックをテストするのに理想的です。ビューのイベントを再バインドしてDOMイベントをテストします

view.should.call('startAuthentication').when(function() {
  view.$('a.login').trigger('click');
});

インストールとセットアップ

ノード

npm install chai-backboneを実行して、起動して実行します。つまり

var chai = require("chai");
var chaiBackbone = require("chai-backbone");

chai.use(chaiBackbone);

もちろん、このコードを共通テストフィクスチャファイルに配置できます。例としては、Mochaを使用します

AMD

Chai BackboneはAMDモジュールとして使用され、匿名で登録できます(Chaiと同様)。そのため、ローダーでChaiとChai BackboneファイルをモジュールIDの"chai""chai-backbone"にマップするように設定している場合は、次のように使用できます

define(function (require, exports, module) {
    var chai = require("chai");
    var chaiBackbone = require("chai-backbone");

    chai.use(chaiBackbone);
});

<script>タグ

Chai BackboneをChai自体のものと一緒に<script>タグで直接含めると、Chaiに自動的に組み込まれ、使用できるようになります

<script src="chai.js"></script>
<script src="chai-backbone.js"></script>

ライセンス

Copyright (c) 2012-2015 Matthijs Groen

MIT License (LICENSEファイルを参照)