javascript - Jest 显示访问 PropTypes 和 createClass 的 console.warn

标签 javascript reactjs typescript jestjs

我正在使用 Jest 测试 React 组件。测试运行良好,但我收到一些非常烦人的 console.warn 消息。我自己既没有使用 PropTypes 也没有使用 createClass,所以我怀疑这来自某个库。有什么方法可以找出它们的来源或抑制它们吗?

PASS  src/__tests__/title.test.ts
  ● Console

    console.warn node_modules/react/lib/lowPriorityWarning.js:40
      Warning: Accessing PropTypes via the main React package is deprecated, and will be removed in  React v16.0. Use the latest available v15.* prop-types package from npm instead. For info on usage, compatibility, migration and more, see
    console.warn node_modules/react/lib/lowPriorityWarning.js:40
      Warning: Accessing createClass via the main React package is deprecated, and will be removed in React v16.0. Use a plain JavaScript class instead. If you're not yet ready to migrate, create-react-class v15.* is available on npm as a temporary, drop-in replacement. For more info see 

测试看起来像这样

import { shallow } from "enzyme";
import * as React from "react";
import {Title} from "../components/title";

describe("Testing title component", () => {
  it("renders", () => {
    const titleElement: React.ReactElement<{}> = React.createElement(Title);
    const component = shallow(titleElement);
    const text = component.text();
    expect(text).toBe("test");
  });
});

组件看起来像这样

import * as React from "react";

export class Title extends React.Component<{}, {}> {

  constructor(props: {}) {
    super(props);
  }

  public render(): React.ReactElement<{}> {
    return <p>test</p>;
  }

}

最佳答案

使用 * (import * as) 导入访问 React 上的所有 Prop ,包括 PropTypescreateClass ,这最终会导致警告。

尝试编写import React from 'react'

https://github.com/airbnb/enzyme/issues/1065

关于javascript - Jest 显示访问 PropTypes 和 createClass 的 console.warn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263421/

相关文章:

javascript - Angular Reactive Forms动态嵌套数组检测失去焦点时的变化

dependency-injection - Aurelia & Typescript 注入(inject)和继承

JavaScript 插件对函数复杂性和函数长度的误报

javascript - 使用 express 中间件并将 res.local 数据传递给路由

javascript - 在 AngularJS 中只返回数组的键

reactjs - 未定义的“_isMockFunction”

javascript - 深度替换知道我们必须在其中注入(inject)值的对象中的属性值的值

reactjs - typescript 错误类型无法分配给状态 - usestate

reactjs - 为什么 ASP.NET Core 3.0 ReactJS 应用程序仅在刷新浏览器后才出现?

angular - stroke-dasharray 无法与 Angular 6 绑定(bind)