chai-interface
オブジェクトのインタフェースに関するアサーション
インストール
$ npm install chai-interface
使い方
var chai = require('chai')
chai.should()
chai.use(require('chai-interface'))
var foo = {
bar: true,
baz: 'green',
qux: 37,
quack: function () {},
ducks: [1, 2, 3]
}
foo.should.have.interface({
bar: Boolean,
baz: String,
qux: Number,
quack: Function,
ducks: Array
})
さらに複雑な入れ子オブジェクト!
var user = {
name: {
first: 'Betty',
last: 'Dodson'
},
emails: {
work: 'b.dodson@megacorp.com',
home: 'butterflychica947@lol.com',
school: 'bdodso4@stateu.edu'
}
}
user.should.have.interface({
name: {
first: String,
last: String
},
emails: {
work: String,
home: String,
school: String
}
})
例となるエラーメッセージ
Interface not as expected:
{
"bars": {
"actual": "Array<String>",
"expected": "Array<Number>",
"actualValue": [
"a",
"b",
"c"
]
}
}
を tracery の力で
chai-interface
は tracery
を使用してインターフェースのチェックを行います
コントリビューター
jden jason@denizac.org @leJDen
プルリクエストと課題は github 経由で送信してください。
ライセンス
MIT (c) 2013 Agile Diagnosis, Inc. LICENSE.md を参照