首页 > 解决方案 > window.getComputedStyles() 不适用于 Jest 和 React

问题描述

我正在尝试运行关于我的组件样式的基本断言。现在,我在 CRA 模板为您提供的默认 React 应用程序上运行它们:

应用程序.js

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );
}

应用程序.test.js

test("computed styles", () => {
  render(<App />);
  const app = document.querySelector(".App");
  const appStyles = window.getComputedStyle(app);

  console.log(appStyles.width);
});

没有任何内容记录到控制台。我在浏览器和应用程序本身中运行相同的代码,它返回1440px我的屏幕宽度。但在 Jest 中,它什么也不返回。

标签: javascriptreactjsjestjs

解决方案


推荐阅读