我正在尝试使用Jest建立一个非常基本的测试,该测试测试App.js是否正确呈现。我收到错误
Cannot find module './App' from 'App.test.js'
However, Jest was able to find:
'./App.js'
'./App.test.js'
但是,如果我尝试写import App from "./App.js";
而不是... from "./App";
,我会得到
Cannot find module './App.js' from 'App.test.js'
如何使Jest正确找到模块?
该项目是使用Create React App设置的,并且App.js
和App.test.js
位于同一文件夹(src/components
)中。
import React, { Component } from "react";
class App extends Component {
render() {
return <div />;
}
}
export default App;
import React from "react";
import { shallow } from "enzyme";
import App from "./App.js";
const app = shallow(<App />);
it("renders correctly", () => {
expect(app).toMatchSnapshot();
});
答案 0 :(得分:2)
我认为Jest需要在呈现组件之前进行自我设置(因此请不要在测试用例之外调用<App />
)
it("renders correctly", () => {
const app = shallow(<App />);
expect(app).toMatchSnapshot();
});
import
行上,假设您使用的是最新版本,并且您自己没有通过任何CLI options,我建议您替换{{1}的全部内容}:
App.test.js
并在https://jestjs.io/docs/en/configuration中搜索列出的环境变量,以查看是否有任何可能影响Jest。