使用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;
答案 0 :(得分:0)
您可以使用satisfy
:
expect(value).to.satisfy(value => value === null || typeof value === 'number');
不要让声音具有攻击性,但我认为当您要测试的相应功能不允许null
作为参数值时会更清晰。从我的角度来看,这将导致一个更容易推理的功能。
编辑:忽略您使用TypeScript。如果是这样,我也会使用comment @japrescott并依赖该语言的功能。