我已经创建了自定义Jest匹配器来扩展expect以用于AxiosResponse对象。尽管遵循了扩展Jest匹配器类型的标准方法,但TypeScript无法识别我的自定义匹配器。
VSCode中的TypeScript错误是:
Property 'status' does not exist on type 'JestMatchers<AxiosResponse<any, any>>'.ts(2339)
字符串
我已经尝试了几种方法来解决这个问题,但到目前为止,没有一个有效。
1.创建了一个自定义类型声明文件jest-custom-matchers.d.ts
,其中包含以下内容:
import 'jest';
declare global {
namespace jest {
interface Matchers<R> {
status(expectedStatus: number): R;
}
}
}
型
1.已确保tslog.json已正确配置为包含types目录:
{
"compilerOptions": {
"typeRoots": ["./node_modules/@types", "./types"],
},
"include": ["src/**/*", "types/**/*"]
}
型
1.在VS Code中重新启动TypeScript服务器,并检查是否有任何冲突的类型定义。
1.已根据VSCode does not recognize jest custom matcher将. d. ts文件移动到根目录
测试使用命令行成功运行,但VS Code无法识别自定义匹配器。
的数据
1条答案
按热度按时间holgip5t1#
解决了。我不得不在
tsconfig.json
中的include
中添加specs
目录,这就成功了!字符串