2

我正在尝试使用 jest-native 作为额外的匹配器,我认为我遇到了安装问题......
我在一个带有 expo 的 react-native ts 应用程序上,这是我的版本:

  • 世博会:“~39.0.0”
  • @testing-library/react-native 版本:“^7.1.0”
  • jest-preset : 'jest-expo',
  • 反应原生版本:“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'.

任何的想法 ?

4

2 回答 2

2

好的,如果我把它import '@testing-library/jest-native';放在我的测试文件的顶部,那就行了

于 2021-02-05T08:55:43.250 回答
0

我遇到了同样的问题,对我来说有效的只是将以下内容添加到 Jest 配置中:

setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'],

我不需要写expect.extend,但是toHaveStyle当我写点时,简单地和其他功能都可用;例如:

expect(getByTestId('containerView')).toHaveStyle;

现在toHaveStyle只是在这里,没有在上面的导入中专门导入toHaveStyle。值得注意的是,我还必须jest-native在我的测试文件中导入,因为接受的答案表明:

import '@testing-library/jest-native'; 
于 2021-11-14T19:22:44.020 回答