JavaScriptで型に注釈を付けるためにflowtypeを使用しています。私のテストでは、私もflowtypeを利用したいと思っています。実装されたモックの半分をflowtypeの型にキャストできますか?
私は、関数に別の関数を持つオブジェクトである引数が与えられていること、そしてこの他の関数が期待される引数で正しい回数呼び出されていることをテストしています。
例コード:
function foo(obj: Bar) {
obj.bar('bar');
}
例のテスト:
test('foo gets bar', t => {
const mockBar: Bar = {
bar: sinon.stub(),
};
foo(mockBar);
t.true(mockBar.bar.calledWith('bar'));
});
今Bar
プロパティと、そのようなたくさんの、本当に複雑なタイプがあり、完全に模擬することは容易ではないので、ここで私が唯一にしたいですテストは'bar'
となります。 Flowtypeにはこれがなく、私のmockBar
は実際にはBar
ではないことがわかりました。テスト時にflowtypeを使用したり、モックアウトしない以外は、この時点で何をすべきか分かりません。少しのテストのために。
私は単に何とか強制的にモックをキャストして、バーを邪魔にならないようにすることができますか?
これはうまくいきました。私はこれを次のように渡さなければなりませんでした: 'foo(((mockBar:any):Bar)));' –