create-react-app:对Jest测试使用代理

问题描述 投票:0回答:1

我想在我的React Jest测试中使用实际的API。因为测试环境是JSm,所以我无法发出跨域请求。在开发中,可以通过在package.json文件中指定代理轻松解决此问题,但这不适用于通过以下代码运行的测试套件:npm test

我知道使用(see docs)创建新的JSm实例时可以指定代理:

const resourceLoader = new jsdom.ResourceLoader({
  proxy: "http://127.0.0.1:9001",
});

现在我找不到在使用create-react-app(CRA)创建的应用程序中使用此方法的方法。所以我的问题是,在通过CRA应用程序?

谢谢!

proxy jestjs create-react-app jsdom
1个回答
0
投票

我刚刚发现了如何执行此操作。有一个Jest配置选项,用于设置JSm实例的URL:“ testURL”。但是,当在package.json中指定它时,它将不起作用:

jest: {
    "testURL": "http://localhost:4000"
}

起作用的是直接在NPM脚本中指定选项。这将使NPM测试脚本看起来像:

"test": "react-scripts test --testURL=http://localhost:4000"

希望它可以帮助遇到相同问题的人

© www.soinside.com 2019 - 2024. All rights reserved.