chai-backbone

Build Status NPM Version

chai-backbone 是 chai 斷言函式庫的擴充,提供了一組針對 backbone 的特定斷言。

將這些斷言與 chai 的 expectshould 斷言一起使用。

相依性

斷言

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');
});

安裝與設定

Node

執行 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 本身的 <script> 標籤之後直接包含 Chai Backbone,它會自動插入 Chai 並準備好使用

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

授權條款

版權所有 (c) 2012-2015 Matthijs Groen

MIT 授權 (請參閱 LICENSE 檔案)