小编And*_*sen的帖子

如何在使用酶测试时等待componentDidMount中的setState解析?

我试图测试运行一些异步代码并在componentDidMount中调用setState的React组件.

这是我要测试的反应组件:

/**
*
* AsyncComponent
*
*/

import React from 'react';

class AsyncComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      loaded: false,
      component: null,
    };
  }
  componentDidMount() {
    this.props.component.then(component => {
       this.setState({
         loaded: true,
         component: component.default ? component.default : component,
       });
    });
  }
  render() {
    if (!this.state.loaded) {
      return null;
    }

    const Component = this.state.component;

    const { component, ...rest } = this.props;

    return <Component {...rest} />;
  }
}

export default AsyncComponent;
Run Code Online (Sandbox Code Playgroud)

这是测试用例.我正在使用开玩笑和酶.

import React from 'react';
import …
Run Code Online (Sandbox Code Playgroud)

jestjs enzyme

8
推荐指数
1
解决办法
2899
查看次数

如何修复Windows 10上的Jest“未找到测试”?

我试图在Windows 10台式计算机上使用Jest,但它一直告诉我没有找到测试。在我的Windows 10笔记本电脑上,它工作正常。这是我在桌面上得到的输出:

C:\app> jest
No tests found
In C:\app
   25163 files checked.
   testMatch: **/__tests__/**/*.js?(x),**/?(*.)(spec|test).js?(x) - 743 matches
   testPathIgnorePatterns: \\node_modules\\ - 25163 matches
Pattern: "" - 0 matches
Run Code Online (Sandbox Code Playgroud)

在我的package.json文件中,我的笑话配置如下所示:

"jest": {
  "collectCoverageFrom": [
    "app/**/*.{js,jsx}",
    "!app/**/*.test.{js,jsx}",
    "!app/*/RbGenerated*/*.{js,jsx}",
    "!app/app.js"
  ],
  "coverageThreshold": {
    "global": {
      "statements": 98,
      "branches": 91,
      "functions": 98,
      "lines": 98
    }
  },
  "moduleDirectories": [
    "node_modules",
    "app",
    "common"
  ],
  "moduleNameMapper": {
    ".*\\.(css|less|styl|scss|sass)$": "<rootDir>/internals/mocks/cssModule.js",
    ".*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/internals/mocks/image.js"
  },
  "setupTestFrameworkScriptFile": "<rootDir>/internals/testing/test-bundler.js"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用节点8.1.4和jest v20.0.4,关于如何通过jest定位测试的任何想法?

jestjs

5
推荐指数
1
解决办法
2204
查看次数

标签 统计

jestjs ×2

enzyme ×1