chai-js-factories
chai-js-factories
增加了對 js-factories 至 Chai 的支援。 本質上,它是 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 指示包含 chai
和 js-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>
標籤
在包含 chai
和 js-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 文件。