0
私は、このような関数のようなEnumパラメータ型を受け入れる関数を単体テストしようとしています。型契約に違反することなくタイプ文字列を模倣する方法
function consumeEnumValue(value: MyEnumType) {
//do something
}
しかし、実際の列挙型をテストコードにインポートしたくない場合、架空の列挙型の列挙型列挙型を使用したいと考えています。以下は動作しません:
import { consumeEnumValue } from 'production-code.ts'
enum FictionalEnum {
foo,
bar,
}
describe('consumeEnumValue',() => {
it('should run and have no type errors',() => {
expect(consumeEnumValue(FictionalEnum.foo)).toEqual(/* something */);
});
});
もちろんtypescriptですが、引数の型とパラメータの型が一致しないと文句を言い。
架空の値で列挙型をモックする方法はありますか?
なぜ実際の列挙型を使用しないのですか?列挙型Xを取得するはずの関数をテストするのは意味がありませんが、テストで列挙型を取得しますY –
@NitzanTomerあなたは絶対に正しいです。私はそれについて数分以上考えた後、同じ結論に達しました。私は最初に私のenumを嘲笑することが良い考えだった理由を説明する答えを掲示した。 – Brian