我正在尝试为程序编写测试用例,并且听说了有关testing-library/react
和jest-junit
的一些好消息。我使用npm将两个软件包都安装到了devDependencies
中,并更改了脚本进行测试:"test": 'react-scripts test"
运行npm test时,出现提示
TypeError: fsevents is not a function
因此,我尝试对fsevents进行npm,但这没有帮助。我尝试在网上查找,但错误要么是fsevents不是构造函数,要么是更改为yarn。
是什么原因导致此问题?我正在使用npm v6.4.1和react-script v3.1.1
编辑:如果重要的话,也使用Mac
Edi2:我再次运行了测试,并且在未进行任何更改的情况下不再遇到此错误。
答案 0 :(得分:2)
在重新安装node和create-react-app之后,我遇到了同样的问题。经过一番搜索,我发现本文[1]关于运行npm test的已知问题。
安装了watchman后,测试正在运行。
[1] https://github.com/bbc/simorgh/wiki/Known-setup-issue-when-running-%60npm-test%60
答案 1 :(得分:0)
fsevents
与npm
一起安装。错误"is not a constructor"
可能意味着您试图用您的代码初始化fsevents
。最有可能与new
关键字一起使用。如果没有让我知道,请检查您的代码。
答案 2 :(得分:0)
每当我创建create-react-app时,当我立即运行'npm test'时,都会遇到此确切错误。如果我已经致力于React项目,那么这对我有用:
npm install fsevents@1.2.11
经过一番挖掘,我发现我需要手动安装此软件包,因为CRA抽出了一些
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 ...
消息。但是,我需要这个程序包来运行“ npm test”。
但是,我更大的问题是CRA跳过了此依赖项安装,因为它没有在我的系统上检测到xcode。我收到这些消息:
gyp: No Xcode or CLT version detected!
解决方案是运行命令
xcode-select --install
现在,任何将来的create-react-app都应该可以平稳运行,而无需安装任何其他依赖项! Additional Xcode troubleshooting here.
答案 3 :(得分:0)
在OSX上有类似的问题。如果您有Homebrew
,只需在终端中运行以下命令,然后重试:
brew install watchman
如果没有帮助,请尝试在终端中运行以下命令:
sudo rm -rf (xcode-select -print-path)
xcode-select --install
答案 4 :(得分:-1)
您要做的事情非常简单。运行以下
rm -rf node_modules/ package-lock.json
然后
npm i
这对我有用。