React测试组件在CircleCi中失败并在本地成功

时间:2020-05-06 00:17:38

标签: javascript reactjs testing circleci circleci-2.0

我向我的App组件编写了一个简单测试,并在本地环境中通过了测试,但是在CircleCi中失败并抛出以下消息: 无法从“ App.jsx”中找到模块“ ./containers/signup_signin/signupsignin”

“失败src / App.test.jsx●测试套件无法运行

Cannot find module './containers/signup_signin/signupsignin' from 'App.jsx'

However, Jest was able to find:
  './App.jsx'
  './App.test.jsx'"

这是我的circleci配置:

config.yml

version: 2.1
jobs:
  build:
    docker:
      - image: circleci/node:9.9.0 # the primary container, where your job's commands are run
    steps:
      - checkout # check out the code in the project directory
      - run: echo "npm installing" # run the `echo` command
      - run: npm install
  test:
    docker:
      - image: circleci/node:9.9.0 # the primary container, where your job's commands are run
    steps:
      - checkout # check out the code in the project directory
      - run: echo "run testing" # run the `echo` command
      - run: npm install
      - run: npm test
workflows:
  version: 2.1
  build_test_lint:
    jobs:
      - build
      - test

App.test.jsx

import React from 'react';
import { shallow } from 'enzyme';
import App from './App';

describe('test App component', () => {
  const wrapper = <App />;
  it('expect to render App component', () => {
    expect(shallow(wrapper)).toHaveLength(1);
  });
});

App.jsx

import React from 'react';
import { Switch, Route, Redirect } from 'react-router-dom';
import Container from '@material-ui/core/Container';
import Header from './layouts/header';
import SignUpSignIn from './containers/signup_signin/signupsignin';

function App() {
  // const { currentUser } = useSelector((state) => state.user);
  const currentUser = false;
  return (
    <div className="App-container">
      <Header />
      <Switch>
        <Container maxWidth="md">
          <Route
            exact
            path="/signup"
            render={() =>
              currentUser ? <Redirect to="/" /> : <SignUpSignIn />
            }
          />
        </Container>
      </Switch>
    </div>
  );
}

export default App;

0 个答案:

没有答案