こんな感じのテストを書こうとしていました。
// { test1: 'test1', 'test2.title': 'test2' } みたいなデータが返ってくる関数をimport import messages from 'translations/messages'; describe('messeages', () => { it('return flattened ja.json data', () => { expect(messages['test1']).toEqual('test1'); expect(messages['test2.title']).toEqual('test2'); }); });
するとこんなエラーが出ました。
お前がimportしたオブジェクトの中身がなんなのかよくわからんぞ的なことが書いてあるんだと思います。
Element implicitly has an 'any' type because expression of type '"test1"' can't be used to index type '{}'. Property 'test1' does not exist on type '{}'.ts(7053)
こうしたら解決しました。
オブジェクトが持っているkeyの型を定義してあげる必要がありました。
import messages from 'translations/messages'; const test_messages: { [key: string]: any } = messages; // ここをプラス describe('messeages', () => { it('return flattened ja.json data', () => { expect(test_messages['test1']).toEqual('test1'); expect(test_messages['test2']).toEqual('test2'); }); }); <||