使用mount和React的上下文API进行笑话测试

时间:2019-09-23 16:09:38

标签: reactjs unit-testing jestjs

我正在尝试使用mount来测试我的上下文API实现,但出现错误

TypeError:无法读取未定义的属性“状态”

我尝试了各种技术,以便在测试过程中将上下文数据传递给组件,但到目前为止没有成功。

ApplicationContext.js

ApplicationContext context = SpringApplication.run(DemoApplication.class, args);

Ninja obj = getBean(Ninja.class);
Ninja obj1 = getBean(Ninja.class);

MyComponent.js 文件

import React from 'react'

const AppContext = React.createContext()
export default AppContext

我尝试过的方法

render () {
  return (
    <AppContext.Consumer>
      {context => (
        { context.state.user === SUPER_USER
          ? <Dashboard></Dashboard>
          : <Info></Info>
      )}
    </AppContext.Consumer>
  )
}

当我使用上述测试代码调试应用程序时,上下文始终未定义

1 个答案:

答案 0 :(得分:0)

提供者接受值支持而不是上下文支持。 https://reactjs.org/docs/context.html#contextprovider

AppContext.Provider值= {{状态:{用户:SUPER_USER}}}