javascript – React Jest test无法读取undefined的属性’pathname’

前端之家收集整理的这篇文章主要介绍了javascript – React Jest test无法读取undefined的属性’pathname’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

不知道为什么我在我的简单Main.test文件中收到此错误.

enter image description here

Main.js的构造函数

@H_502_10@export class Main extends Component {
    constructor(props) {
        super(props);

        this.state = {
            location: splitString(props.location.pathname,'/dashboard/')
        }

        if (R.isEmpty(props.view)) {
            isViewServices(this.state.location)
                ? this.props.gotoServicesView()
                : this.props.gotoUsersView()
        }
    }

Main.test的

@H_502_10@import React from 'react'
import * as enzyme from 'enzyme'
import toJson from 'enzyme-to-json'
import { Main } from './Main'
import Sidebar from '../../components/Common/sidebar'

const main = enzyme.shallow(

有没有办法模拟’路径名’?

最佳答案
看来你可能会遇到一些错误,一个是在你的测试中你没有传递任何道具.

您可以在构造函数中访问this.props.

请参阅if语句,但我会在此处明确说明

@H_502_10@if (R.isEmpty(props.view)) {
   isViewServices(this.state.location)
     ? props.gotoServicesView()
     : props.gotoUsersView()
}

在Main.test中

@H_502_10@const location = { pathname: '/dashboard/' };
const main = enzyme.shallow(

猜你在找的JavaScript相关文章