web-dev-qa-db-ja.com

Jest:オブジェクトのキーとプロパティをテストする方法

コンポーネントをインポートしてエクスポートするmapModuleがあります。

import ComponentName from '../components/ComponentName';

export default {
  name: ComponentName,
};

mapModuleに正しいエクスポートされたキー、値があり、それらがnullまたは未定義でないことをテストするにはどうすればよいですか?

32
fasenberg

Jestのバージョン23.3.0では、

expect(string).toMatch(string) 

文字列が必要です。

つかいます:

const expected = { name:'component name' }
const actual = { name: 'component name', type: 'form' }
expect(actual).toMatchObject(expected)

結果はテストに合格しています

43
user3605834

次のいずれかを使用できます。

toEqualとtoMatchは、オブジェクトのテンプレートマッチャーです。

let Obj = {name: 'component name', id: 2};
expect(oneObj).toEqual({name: 'component name'}) // false, should be exactly equal all Obj keys and values  
expect(oneObj).toMatchObject({name: 'component name'}) // true

または、toHavePropertyを簡単に使用します。

let Obj = {name: 'component name'};
expect(oneObj).toHaveProperty('name') // true
expect(oneObj).toHaveProperty('name', 'component name') // true
40
toufek khoury