jsd*_*iya 4 javascript unit-testing sinon chai sinon-chai
我有一个需要模拟或存根数据的情况。
var array =['add','divide']
var add =listMehtod[0];
if(add instanceof Calculator){ // how to test this ?
// some logic
}
Run Code Online (Sandbox Code Playgroud)
基本上我必须为内部逻辑编写一些测试用例,但问题是第一个 if 语句我无法通过。有什么方法可以通过 chai 或 sinon 来处理它吗?
测试用例 :
var a = new Calculator();
expect(a).to.be.instanceOf(Calculator) // this is returning false
Run Code Online (Sandbox Code Playgroud)
您可以使用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
Run Code Online (Sandbox Code Playgroud)
请注意,该对象仍将从其原型继承属性,即calculate()上面的方法。