Reactjs 在jest测试文件中使用流会导致未定义的测试、expect等

Reactjs 在jest测试文件中使用流会导致未定义的测试、expect等,reactjs,testing,flowtype,jestjs,Reactjs,Testing,Flowtype,Jestjs,我有一个简单的test.js文件 // @flow import React from "react"; import renderer from "react-test-renderer"; import RatioImage from "./"; test("<RatioImage /> base case should render correctly", () => { const tree = renderer.create(<RatioImage wid

我有一个简单的test.js文件

// @flow
import React from "react";
import renderer from "react-test-renderer";
import RatioImage from "./";

test("<RatioImage /> base case should render correctly", () => {
  const tree = renderer.create(<RatioImage width={100} ratio={1} source={{ uri: "" }} />);
  expect(tree).toMatchSnapshot();
});
/@flow
从“React”导入React;
从“反应测试渲染器”导入渲染器;
从“/”导入比率图像;
测试(“基本情况应正确呈现”,()=>{
常量树=renderer.create();
expect(tree.toMatchSnapshot();
});

在渲染器中添加流在
中起作用,这很好,但是
test
expect
会导致流错误,因为它们没有定义。有没有办法将它们设置为某种类型的全局变量,这样flow就不会出错?

要详细介绍Andreas在评论中所说的内容,flow允许您为外部库创建库定义。(我假设你在这里开玩笑)。(有时称为
libdefs

当有人创建全局库时,他们可以使用页面上记录的
声明函数
声明类
语法将函数(或类!)声明为全局函数

在大多数情况下,这些都是可以忽略的实现细节。为库提供大量声明。其中有些是自动生成的,有些是由人类合成的

安装了flow-typed后,您可以获取Jest的库定义,比如:
flow-typed安装jest@22.x.x
。其中应包括
声明函数
声明,以使
测试
函数成为Flow知道的全局函数,而无需
要求
从任何地方导入
类型或函数。

是否尝试使用