Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从create react应用程序测试中排除节点_模块?_Javascript_Testing_Jestjs_Create React App_Package.json - Fatal编程技术网

Javascript 如何从create react应用程序测试中排除节点_模块?

Javascript 如何从create react应用程序测试中排除节点_模块?,javascript,testing,jestjs,create-react-app,package.json,Javascript,Testing,Jestjs,Create React App,Package.json,我想使用jest对我的CreateReact应用程序进行测试 其中一个节点_模块出现测试错误 但我不希望jest使用node_modules文件夹 在配置属性中,我找到了“CollectCoverage From”,并尝试在my package.json中使用它: .... "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test"

我想使用jest对我的CreateReact应用程序进行测试

其中一个节点_模块出现测试错误

但我不希望jest使用node_modules文件夹

在配置属性中,我找到了“CollectCoverage From”,并尝试在my package.json中使用它:

  ....
  "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test --env=jsdom ",
        "eject": "react-scripts eject"
  },
  "jest": {
        "collectCoverageFrom": [
            "!/node_modules/*"
         ]
  }
但是没有任何改变

在配置jest时尝试使用:

"jest": {
    ...
    "testPathIgnorePatterns": [
      "<rootDir>/(build|docs|node_modules)/"
    ]
“开玩笑”:{
...
“testPathIgnorePatterns”:[
“/(构建|文档|节点|模块)/”
]

没有覆盖范围

您的一个组件正在使用
react-mic
软件包,该软件包通过
window.AudioContext
访问音频

你有不同的方法来解决它

  • 你可以模仿window.AudioContext。这真的很难实现。我不建议你这么做

  • 你可以。这比#1更容易实现,但仍然相当困难

  • 您可以在测试中依赖
    shallow()
    。因此,您永远不需要模拟任何与音频相关的内容。我建议您这样做


  • 已经是这样了。Jest忽略了
    节点\u模块
    。您看到的只是一个堆栈跟踪。仔细检查您的测试代码,那里发生了错误。

    @Andy开箱即用,Create React App只支持覆盖这些Jest选项:•CollectionCoverage from•CoveragePorters•coverageThreshold•Snapshotrializers。然后我很惊讶它没有忽略你的
    node\u modules
    文件夹。哦,它忽略了你的modules文件夹,但是你的测试依赖于一些不能正常工作的东西。这是另一个问题。它是按node\u模块工作的,我不想jest分析它(Krif Create React App仅支持覆盖这些Jest选项:•CollectCoverage From•Coverage Porters•Coverage Threshold•SnapshotSerializer。您尝试过吗?我看不出创建React App仅限于这些选项的任何原因。详细信息:是
    创建React App
    限制我们使用此选项太奇怪了,在我的例子中,我从一个文件中测试了一个简单的typescript函数,jest向我显示了一个错误
    jest遇到了一个意外的标记
    ,但是当我删除了一个与
    axios
    相关的api函数并再次测试时,它工作得很平静。