Expo Jest无法找到“ file@2x.png”之类的图像

时间:2018-07-11 14:39:54

标签: image request automated-tests jestjs expo

您知道,Expo通过分析文件的后缀来使用自适应图像大小,如下所示: xxx@3x.png xxx@2x.png xxx@1x.png

我可以这样声明图像,省略文件的结尾:

const iconHomeButton = require('./images/homeButton.png');

该文件夹上的实际图像名称实际上是:

homeButton@2x.png

在Expo上运行正常,但是当我尝试使用Jest对其进行测试时,找不到图像。 如果我将文件名更改为真实名称,例如:

const iconHomeButton = require('./images/homeButton@2x.png');

然后开玩笑测试。

是否可以在不更改Expo项目的情况下使用Jest对其进行测试?

1 个答案:

答案 0 :(得分:3)

  

package.json中配置Jest可以解决此问题。添加moduleNameMapper可以使您的测试正常:

"jest": {
    "preset": "jest-expo",
    "moduleNameMapper": {
        "^[@./a-zA-Z0-9$_-]+\\.(png|jpg|gif)$": "RelativeImageStub"
      }
}