Jest shows console.warn for accessing PropTypes and createClass

I am testing the React component with Jest. The test passes fine, but I get a few console.warn messages that are very annoying. I do not use either PropTypes or createClass, so I suspect this comes from some kind of library. Is there any way to find out where they come from or to crush them?

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 

The test looks like this:

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");
  });
});

and the component is as follows:

import * as React from "react";

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

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

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

}
+4
source share
1 answer

Importing with * ( import * as) access to all details on React, including PropTypesand createClass, which ultimately causes warnings.

import React from 'react'.

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

+2

Source: https://habr.com/ru/post/1682063/


All Articles