[英]Jest shows console.warn for Accessing PropTypes and createClass
I'm testing a React component using Jest. 我正在使用Jest测试React组件。 The test runs fine, but I get a few console.warn messages that are very annoying. 测试运行正常,但我得到一些非常烦人的console.warn消息。 I'm not using either PropTypes or createClass myself, so I'm suspecting this comes from some library. 我自己没有使用PropTypes或createClass,所以我怀疑这来自某个库。 Is there some way to figure out where they are coming from, or suppress 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 looks like this 该组件看起来像这样
import * as React from "react";
export class Title extends React.Component<{}, {}> {
constructor(props: {}) {
super(props);
}
public render(): React.ReactElement<{}> {
return <p>test</p>;
}
}
Importing using * ( import * as
) access all the props on React
, including PropTypes
and createClass
, which is eventually causing the warnings. 使用*( import * as
) import * as
访问React
上的所有道具,包括PropTypes
和createClass
,最终导致警告。
Try to write import React from 'react'
instead. 尝试import React from 'react'
编写import React from 'react'
。
https://github.com/airbnb/enzyme/issues/1065 https://github.com/airbnb/enzyme/issues/1065
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.