react-testing-library を使用して要素が特定の並べ替えでレンダリングされているかどうかを確認するにはどうすればよいでしょうか? 質問する

react-testing-library を使用して要素が特定の並べ替えでレンダリングされているかどうかを確認するにはどうすればよいでしょうか? 質問する

RTL はユーザー中心のアプローチを採用しており、要素の並べ替えのテストは次のようになると私は理解しています。

const foo = queryByText('foo');
const bar = queryByText('bar');
expect(foo).toBeInTheDocument();
expect(bar).toBeInTheDocument();
expect(foo).toShowBefore(bar); // THIS IS MY PSEUDOCODE

しかし、RTL で または同等の関数を見つけることができませんでした.toShowBefore()。コンテンツが特定の順序で表示されることをテストする正しい方法は何ですか?

ベストアンサー1

使用できますドキュメントの位置を比較する

例えば

const e1 = getByText('a');
const e2 = getByText('b');
expect(e1.compareDocumentPosition(e2)).toBe(2); 

ここで関数getByTextから返されますrender

おすすめ記事