是否有任何干净的方法来断言可空参数与chai.js
?例如,假设我有以下方法:
public set numberOrNull ( value : number ) {
chai.expect( value ).to.be.a( "number" );
this._number = value;
}
如果我传递null
给这个方法,我仍然会从chai得到一个异常。我当然可以这样做,但我想知道是否有更好的方法来做到这一点:
if ( null !== value ) {
chai.expect( value ).to.be.a( "number" );
}
this._number = value;
您可以使用satisfy
:
expect(value).to.satisfy(value => value === null || typeof value === 'number');
不想听起来令人反感,但我认为当您要测试的相应函数不允许null
作为参数值时,它会更清晰。从我的角度来看,这将导致一个更容易推理的函数。
Edit:忽略了你使用TypeScript。如果是这样,我也同意@japrescott的评论,并依赖于语言的能力。