vitest/prefer-expect-type-of スタイル
何をするか
expect(typeof ...) の代わりに expectTypeOf を使用することを強制する
なぜ悪いのか
Vitest は expect(typeof ...) を使うよりも、より表現力があり型安全な型のテスト方法を提供している
例
このルールに違反する不正なコードの例:
js
test('型チェック', () => {
expect(typeof 'hello').toBe('string')
expect(typeof 42).toBe('number')
expect(typeof true).toBe('boolean')
expect(typeof {}).toBe('object')
expect(typeof () => {}).toBe('function')
expect(typeof Symbol()).toBe('symbol')
expect(typeof 123n).toBe('bigint')
expect(typeof undefined).toBe('undefined')
})このルールに準拠する正しいコードの例:
js
test("型チェック", () => {
expectTypeOf("hello").toBeString();
expectTypeOf(42).toBeNumber();
expectTypeOf(true).toBeBoolean();
expectTypeOf({}).toBeObject();
expectTypeOf(() => {}).toBeFunction();
expectTypeOf(Symbol()).toBeSymbol();
expectTypeOf(123n).toBeBigInt();
expectTypeOf(undefined).toBeUndefined();
});使用方法
このルールを構成ファイルまたは CLI で有効化するには、次のように使用できます:
json
{
"plugins": ["vitest"],
"rules": {
"vitest/prefer-expect-type-of": "error"
}
}bash
oxlint --deny vitest/prefer-expect-type-of --vitest-plugin