chai-js-factories

NPM Version

chai-js-factories 增加了對 js-factoriesChai 的支援。 本質上,它是 js-factories 函式庫的包裝,並使其在 Chai 命名空間中可用。

安裝

chai-js-factories 設計為可在大多數 JavaScript 環境中運作,包括 Node 和瀏覽器。

Node

執行 npm install {--save-dev} chai-js-factories;然後使用

var chai = require('chai');
var chaiJsFactories = require('chai-js-factories');
chai.use(chaiJsFactories);

AMD

根據各自的 readme 指示包含 chaijs-factories,然後將 chai-js-factories 作為一般的 AMD 模組包含進來。

請注意,與其他方法不同,您需要使用 chai-js-factories 函式庫顯式初始化 chai-js-factories

require(['chai', 'js-factories', 'chai-js-factories'], function(chai, Factory, chaiJsFactories) {
  chai.use(function(chai, utils) {
    chaiJsFactories(Factory, chai, utils);
  });
});

<script> 標籤

在包含 chaijs-factories 之後,包含 chai-js-factories.js

<script src="chai.js" encoding="utf-8"></script>
<script src="js-factories.js" encoding="utf-8"></script>
<script src="chai-js-factories.js" encoding="utf-8"></script>

Karma

如果您正在使用 Karma,請查看隨附的 karma-chai-js-factories 外掛。

用法

存取位於 chai.factory 物件上的 js-factory 函式庫

chai.factory.define('testFactory', function (args) {
  return new Example(_.extend({foo: 'bar'}, args));
});

console.log(chai.factory.create('testFactory'));
console.log(chai.factory.create('testFactory', {wom: 'bat'}));
console.log(chai.factory.create('testFactory', {foo: 'wombat'}));

這會如預期般運作,在建立時提供預設參數時會覆蓋它們。 有關工廠的更多文件,請查看 js-factories 文件。