UNPKG

magic-core

Version:
59 lines (53 loc) 1.05 kB
class TestCase { constructor(conf = {}) { Object.assign(this, { name: null, remark: null, condition: null, tags: [], template: null, data: null, counter: 0, }, conf) } /** * 是否满足条件 * @param {*} params */ accept(params) { if (this.condition) { return this.condition(params) } return true } produce(params, conf) { const { __useTemplate__ = false, } = params if (__useTemplate__) { if (this.template) { return Mock.mock(this.template) } else { return { success: false, error: new Error('模板不存在') } } } else { console.info(`${this.id} produce ${this.counter}`) return this.data } } /** * 生成testcase * @param {*} json */ static fromJSON(json) { const tc = new TestCase(json) if (json.condition) { tc.condition = new Function('params', 'conf', json.condition) } return tc } } export default TestCase