我有条件需要模拟或存根数据。
var array =['add','divide']
var add =listMehtod[0];
if(add instanceof Calculator){ // how to test this ?
// some logic
}
基本上,我必须为内部逻辑编写一些测试用例,但是问题首先是我无法通过的if语句。有什么方法可以通过chai或sinon处理它?
测试用例:
var a = new Calculator();
expect(a).to.be.instanceOf(Calculator) // this is returning false
答案 0 :(得分:2)
您可以使用Object.create()
用给定的原型创建空白(-ish)对象,该对象将通过instanceof
检查:
class Calculator {
constructor() { this._calculator = 'CALCULATOR' }
calculate(a, b) { return a + b }
}
const calc = Object.create(Calculator.prototype)
console.log(calc instanceof Calculator) // => true
请注意,此对象仍将继承其原型的属性,即上面的calculate()
方法。