0

私は本当に新しいReact Native Testing Libraryです。私のアプリは基本的に次のように機能します。データをフェッチして asText形式で表示し、 jsonplace holder apiを使用しました。これはapp-demoです。test を定義する Text を 1 つ作成しましrole="header"た。テキストをテストしたいのですが、下で正しく動作しますかrole="header"。私は偽のデータを作り、それをテストしようとします。コンポーネントからロールをターゲットにすることはできますが、期待されるデータを取得する方法がわかりません。で試しましtoBegetByTextが、毎回エラーが発生します: TypeError: toBe is not function

これは私のアプリのコンポーネントです

  const [state, setState] = React.useState([]);
  React.useEffect(() => {
    fetch("https://jsonplaceholder.typicode.com/todos/")
      .then((response) => response.json())
      .then((json) => setState(json));
  }, []);

  return (
    <View style={styles.container}>
      {state.map((i) => (
        <Text role:'header'>{i.title}</Text>
      ))}
    </View>
  );
}

これは私のテストスイートです

import React from 'react';

import { fireEvent, render, cleanup, act } from '@testing-library/react-native';

import Json from './Json';


describe('<Json/>', () => {
  afterEach(cleanup);

  test('get data properly', async () => {
    const component = <Json/>;
    const { getByA11yRole } = render(component);

    const header = await getByA11yRole('header');

    console.log(header);

    expect(header).toBe(/delectus aut autem/);
  });
});
4

0 に答える 0