chai-samsam Build Status codecov

Chai を拡張して、あらゆる種類のオブジェクトに対して、samsam を使用して厳密に照合するアサーションを行います。
このプロジェクトは chai-deep-match のフォークとして開始されました。
そのインターフェースとテストケースは保持されすべて合格しています。そのため、ドロップイン置換として使用できます。
ただし、これによりはるかにゆるく深く照合できます。(samsam ドキュメントを参照してください

インストール

$ npm install --save chai
$ npm install --save chai-samsam

使用方法

const chai = require('chai')
const chaiSamSam = require('chai-samsam')

chai.use(chaiSamSam)

expect([{
  firstName: 'John',
  lastName: 'Doe',
  jobs: [{ bartender: true, barista: true }]
}]).to.deep.match([
  { jobs: [{ barista: true }] }
])
// =>  pass

expect([{
  firstName: 'John',
  lastName: 'Doe',
  jobs: [{ bartender: true, barista: true }]
}]).to.not.deep.match([
  { jobs: [{ pilot: true }] }
])
// =>  pass

// also possible
assert.deepMatch(a, b)
assert.notDeepMatch(a, b)

ライセンス

著作権所有者(c)2017年、Tim Beyer(MIT ライセンス)