Dan*_*scu 7 javascript syntax-highlighting undefined-symbol jestjs
Facebook的玩笑测试框架很容易上手,但文档忽略了一个恼人的方面:测试语句将被突出显示,通过试图警告未定义符号的任何编辑错误,因为test,expect和没有定义的所有匹配方法.
同样,尝试直接运行测试文件node将失败ReferenceError: test is not defined.
需要添加什么require/ import声明才能消除这些错误?
Aks*_*ain 17
添加以下 .eslintrc 配置就足够了
{"env":
{
"jest": true
}
}
Run Code Online (Sandbox Code Playgroud)
Api*_*oud 16
如果要直接通过节点运行它们,请尝试要求 也jest和/或jest-runtime.@types/jest尝试一下.
检查编辑2以获取有关此内容的新信息
编辑
@types/jest(jest-DefinitelyTyped)绝对需要(或只是一个解决方案).如果你安装它(例如,dev依赖),IDE错误应该消失.我刚刚在Webstorm上试过它,它可以工作.
编辑2
新的Jest @ 20 Matchers(例如,.resolves和.rejects)仍未定义@types/jest.您可以在以下链接中跟踪其状态:https
:
//github.com/DefinitelyTyped/DefinitelyTyped/pull/16645 https://github.com/DefinitelyTyped/DefinitelyTyped/issues/16803
不过它应该很快就可以使用!
此外,似乎无法直接通过节点运行它.昨晚我尝试了很多不同的东西,但是使用jest是要走的路 - 它真的使用了引擎盖下的节点,所以我认为它也是可能的.@tymikee对你在GitHub打开的问题明确表示不是.
编辑3
新版本(20.0.1)包含最新的Jest定义.
这不在这个特定问题的范围内,但它也有帮助
你在使用像ESLint这样的东西吗?如果是这样,你需要eslint-plugin-jest
按照本页描述的步骤操作:https://www.npmjs.com/package/eslint-plugin-jest,您基本上需要将其添加为ESLint插件并在ESLint配置中设置jest globals:
{
"env": {
"jest/globals": true
}
}
Run Code Online (Sandbox Code Playgroud)
如果您计划支持ES6测试,您还需要Babel并babel-jest使用以下jest配置插件:
"transform": {
"^.+\\.js$": "babel-jest"
}
Run Code Online (Sandbox Code Playgroud)
最后,对于Typescript测试,你也需要@types/jest和ts-jest包
onm*_*133 13
我正在使用VSCode和ESLint,你需要安装eslint-plugin-jest
添加好友信息给你的 .eslintrc.js
{
"plugins": ["jest"]
},
"env": {
"jest/globals": true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7358 次 |
| 最近记录: |