chai-match-pattern
chai-match-pattern は JSON オブジェクトのディープマッチング用の多機能ツールです。基本的に lodash-match-pattern
用の Chai のラッパーで、パターンマッチング機能についての詳細なドキュメントがあります。この機能には、下記の方法による JSON プロパティのディープマッチングが含まれます。
- 厳密な値
- 正規表現
checkit
のいずれかのマッチャー (例:_.isURL
、_.isEmail
)lodash
のいずれかのマッチャー (例:_.isObject
、_.isNaN
)- 部分一致
- カスタムマッチング関数
- フィルタされた値
- その他多数…
基本的な使用方法
# with npm
npm install chai-match-pattern --save-dev
# or with yarn
yarn add --dev chai-match-pattern
テストファイルに挿入する
const chai = require('chai');
const chaiMatchPattern = require('chai-match-pattern');
chai.use(chaiMatchPattern);
const _ = chaiMatchPattern.getLodashModule(); // recommend using our lodash extension
次に、.matchPattern(pattern)
アサーション関数を使用して、パターンで JSON を検査します。たとえば
chai.expect({a: 1, b: 'abc'}).to.matchPattern({a: 1, b: _.isString});
詳細については lodash-match-pattern
を参照してください。
さらに、含まれている isXxxx
関数は、すべてアサーション関数として直接使用できます。たとえば
chai.expect(7.5).isBetween(7, 8);