0

我真的是新的React Native 测试库。我的应用程序基本上是这样工作的:它获取数据并以我的 asText格式显示,我使用jsonplace holder api。这是应用程序演示。我创建了一个 Text 在其中定义 test 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