@ bahmutov/ 数据驱动
将 BDD 输入转换为数据驱动快照
安装
要求数 节点 6或以上版本.
npm install --save @bahmutov/data-driven
使用
由数据驱动的快照测试将一个纯函数和一串参数作为输入.
// is this data-driven test? for example
snapshot(isPrime, 1, 2, 3, 4, 5)
// or
snapshot(add, [1, 2], [-5, 5], [4, 6])
该模块探测到上述情况,并有计算预期情况的实用方法 结果。 从快照框架,如 速射游戏 财务报告和审定财务报表 快速射击 如果用户想要数据驱动值,则进行计算.
const {isDataDriven, dataDriven} = require('@bahmutov/data-driven')
function snapshot(what) {
if (isDataDriven(arguments)) {
what = dataDriven(what, Array.from(arguments).slice(1))
}
}
典型的价值转变是:
const results = dataDriven(isPrime, [1, 2, 3])
/* results is
{
name: 'isPrime',
behavior: [
{
given: 1,
expect: false
},
{
given: 2,
expect: true
},
{
given: 3,
expect: true
}
]
}
*/
小印数
作者:格列布·巴赫穆托夫 <[email protected]> 2017年©
许可:麻省理工学院 - 做任何与代码有关的事情, 但如果它不起作用,不要责怪我.
支持: 如果您发现此模块有任何问题, 电子邮件 / 微博 / 未决问题 在基图布
MIT 许可证
版权 (c) 2017 Gleb Bahmutov <[email protected]>
特此免费准许任何人 获取该软件和相关文件的副本 文件(“软件”),在软件中处理,不包含 限制,包括不限制使用权, 复制、修改、合并、出版、发行、分版和/或销售 软件的复制本,并允许向 为此提供了软件,但须符合下列条件: 条件:
上述版权通知和本许可通知应为: 列入软件的所有副本或大部分.
软件是提供的"是", 没有任何种类的恐惧, 或监禁,包括但不限制于 特别目的和目的的证明 无所不入。 绝对不能让警察或警察 B. 任何索赔、救济或其他负债的持有者, 条约、条约或其他条约行动 来源、来源或与溶剂或使用有关的 其他交易 在软件.