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);