首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行滑稽测试用例

无法运行滑稽测试用例
EN

Stack Overflow用户
提问于 2018-05-11 10:37:02
回答 3查看 285关注 0票数 0

我编写了一个小测试用例来测试ThankYouPage组件,如下所示

代码语言:javascript
复制
import ToggleDisplay from 'react-toggle-display';
import styles from '../styles.css';

function ThankYouPage(props) {
  return (
    <ToggleDisplay show={props.show}>
      <div className={styles.thankyouText}> Thank you!</div>
      <div className={styles.helpText}>
        The more you thanks, the better.
      </div>
    </ToggleDisplay>
  );
}

export default ThankYouPage;

以下是笑话中的测试案例-

代码语言:javascript
复制
import React from 'react';
import ThankYouPage from './components/thank-you-page';
import { shallow } from 'enzyme';


describe('<ThankYouPage />', () => {
  it('renders 1 ThankYouPage component', () => {
    const component = shallow(<ThankYouPage show=true />);
    expect(component).toHaveLength(1);
  });
});

下面是运行npm test后在控制台上得到的跟踪

代码语言:javascript
复制
> myreactapp@1.0.0 test /Users/rahul/myreactapp
> jest

 FAIL  tests/thank-you-page.test.js
  ● Test suite failed to run

    /Users/cominventor/myreactapp/tests/thank-you-page.test.js: Unexpected token (8:30)
         6 | describe('<ThankYouPage />', () => {
         7 |   it('renders 1 ThankYouPage component', () => {
      >  8 |     const component = shallow(<ThankYouPage show=true />);
           |                               ^
         9 |     expect(component).toHaveLength(1);
        10 |   });
        11 | });

我是否缺少一个依赖关系来解释浅层中的jsx?下面是我的助手们的样子

代码语言:javascript
复制
"devDependencies": {
    "babel-jest": "^22.4.3",
    "oc-template-react-compiler": "5.0.2",
    "prettier": "^1.10.2",
    "prettier-eslint": "^8.8.1"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "enzyme": "^3.3.0",
    "jest": "^22.4.3",
    "jsdom": "^11.10.0",
    "querystring": "^0.2.0",
    "react-cookie": "^2.1.4",
    "react-scripts": "^1.1.4",
    "react-toggle-display": "^2.2.0"
  }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-11 10:43:20

试着安装

npm i --save-dev enzyme enzyme-adapter-react-16

向.babelrc文件添加transform-class-属性,如下所示-

代码语言:javascript
复制
"plugins": [
    "transform-class-properties"
  ]

在package.json中将以下内容添加到顶层

代码语言:javascript
复制
"jest": {
    "moduleNameMapper": {
      "\\.(css)$": "jest-css-modules"
    }

接下来的单元测试应该可以正常工作。

代码语言:javascript
复制
import React from 'react';
import Enzyme, { shallow } from 'enzyme';
import ThankYouPage from './components/thank-you-page';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });

describe('<ThankYouPage />', () => {
  it('renders 1 ThankYouPage component', () => {
    const component = shallow(<ThankYouPage show=true />);
    expect(component).toHaveLength(1);
  });
});
票数 0
EN

Stack Overflow用户

发布于 2018-05-11 10:47:22

试试这个:

代码语言:javascript
复制
    import * as React from 'react';
    import * as Adapter from 'enzyme-adapter-react-16';
    import {shallow, configure} from 'enzyme';
    import ThankYouPage from './components/thank-you-page';

   configure({adapter: new Adapter()});

   describe('my test', () => {
     ...
     ...
   });

从npm安装enzyme-adapter-react-16包。

票数 0
EN

Stack Overflow用户

发布于 2018-05-11 10:49:31

您以错误的方式(不是相对路径)导入酶,请尝试import { shallow } from 'enzyme';

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50290444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档