我正在使用 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 ,包括 PropTypes
和 createClass
,这最终会导致警告。
尝试编写import React from 'react'
。
关于javascript - Jest 显示访问 PropTypes 和 createClass 的 console.warn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263421/