带有测试 react-native-testing-library 和 jest-native 的 expo 应用 "has no exported member 'toHaveProp"
expo app with testing react-native-testing-library and jest-native "has no exported member 'toHaveProp"
我正在尝试使用 jest-native 作为额外的匹配器,我认为我遇到了安装问题
...
我正在使用 expo 的 react-native ts 应用程序,这是我的版本:
- 博览会:"~39.0.0"
- @testing-library/react-native版本:"^7.1.0"
- 开玩笑预设: 'jest-expo',
- react-native 版本:" 63.4 "
我想这样使用:
import { toHaveProp } from '@testing-library/jest-native';
expect.extend({ toHaveProp });
但是它给我这个错误:
Module '"../../../../../../node_modules/@testing-library/jest-native/extend-expect"' has no exported member 'toHaveProp'.
有什么想法吗?
好的,如果我把它 import '@testing-library/jest-native';
放在我的测试文件的顶部,就可以了
我遇到了同样的问题,对我来说有效的是简单地将以下内容添加到 Jest 配置中:
setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'],
不用写expect.extend
,只要写toHaveStyle
等功能就可以了;例如:
expect(getByTestId('containerView')).toHaveStyle;
toHaveStyle
现在只是在这里,没有在上面的导入中特别导入 toHaveStyle
。值得注意的是,我也确实必须在我的测试文件中导入 jest-native
,正如 所建议的那样:
import '@testing-library/jest-native';
我不想在每个测试文件中导入它,并且我的设置(使用 expo)无法将它添加到 setupFilesAfterEnv
中,所以我从 official Github 中执行了以下操作。
Import @testing-library/jest-native/extend-expect once (for instance in your tests setup file) and you're good to go:
import '@testing-library/jest-native/extend-expect';
我正在尝试使用 jest-native 作为额外的匹配器,我认为我遇到了安装问题
...
我正在使用 expo 的 react-native ts 应用程序,这是我的版本:
- 博览会:"~39.0.0"
- @testing-library/react-native版本:"^7.1.0"
- 开玩笑预设: 'jest-expo',
- react-native 版本:" 63.4 "
我想这样使用:
import { toHaveProp } from '@testing-library/jest-native';
expect.extend({ toHaveProp });
但是它给我这个错误:
Module '"../../../../../../node_modules/@testing-library/jest-native/extend-expect"' has no exported member 'toHaveProp'.
有什么想法吗?
好的,如果我把它 import '@testing-library/jest-native';
放在我的测试文件的顶部,就可以了
我遇到了同样的问题,对我来说有效的是简单地将以下内容添加到 Jest 配置中:
setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'],
不用写expect.extend
,只要写toHaveStyle
等功能就可以了;例如:
expect(getByTestId('containerView')).toHaveStyle;
toHaveStyle
现在只是在这里,没有在上面的导入中特别导入 toHaveStyle
。值得注意的是,我也确实必须在我的测试文件中导入 jest-native
,正如
import '@testing-library/jest-native';
我不想在每个测试文件中导入它,并且我的设置(使用 expo)无法将它添加到 setupFilesAfterEnv
中,所以我从 official Github 中执行了以下操作。
Import @testing-library/jest-native/extend-expect once (for instance in your tests setup file) and you're good to go:
import '@testing-library/jest-native/extend-expect';