Jest DOMの主なカスタムマッチャー
例えばこちらですと、test1 test2 が表示されている(見える)ことを確認しています。
describe('TopPage', () => { test('デフォルト(テストケース)', async () => { render(<Default />); await waitFor(() => { expect(screen.getByText('test1')).toBeVisible(); expect(screen.getByText('test2')).toBeVisible(); }); });
toBeInTheDocument()
: 要素がDOMに存在することを確認します。toBeVisible()
: 要素が表示されている(見える)ことを確認します。toBeEmpty()
: 要素が空(子要素を持たない)ことを確認します。toBeEmptyDOMElement()
: 要素が空(子要素やテキストを持たない)ことを確認します。toBeInvalid()
/toBeValid()
: 要素が無効または有効な状態であることを確認します。toBeRequired()
: 要素が必須(required
属性を持つ)であることを確認します。toBeEnabled()
/toBeDisabled()
: 要素が有効または無効化(disabled
)されていることを確認します。toContainElement(element)
: 要素が特定の他の要素を含むことを確認します。toContainHTML(html)
: 要素が特定のHTMLを含むことを確認します。toHaveAttribute(attributeName, value?)
: 要素が特定の属性を持つことを確認します。オプションで属性の値も指定できます。toHaveClass(className)
: 要素が特定のクラス名を持つことを確認します。toHaveFocus()
: 要素がフォーカスされていることを確認します。toHaveFormValues(expectedValues)
: フォーム要素が特定の値を持つことを確認します。toHaveStyle(style)
: 要素が特定のスタイルを持つことを確認します。スタイルは文字列またはオブジェクトで指定できます。toHaveTextContent(text)
: 要素が特定のテキスト内容を持つことを確認します。toHaveValue(value)
: フォームコントロール要素(<input>
や<textarea>
など)が特定の値を持つことを確認します。toHaveDisplayValue(value)
: フォームコントロール要素が特定の表示値を持つことを確認します。toBeChecked()
/toBePartiallyChecked()
: チェックボックスやラジオボタンがチェックされている、または部分的にチェックされていることを確認します。toHaveDescription(description)
: 要素が特指定のアクセシビリティの説明(aria-describedby
で参照される要素のテキスト)を持つことを確認します。
コメント
フロントエンドのテストを極めたいので、少しずつ理解を深めていきます。