开玩笑-react-automata-未定义不是对象(评估“ machine.states”)

克里斯汀·克里斯滕森

我目前正在测试我使用react-automata的react组件。当我运行测试时,它一直在中断。目的是测试我的Lights组件。我使用的是来自react-automata的测试功能,称为“ testStateMachine”,因为我使用状态机来运行单击按钮时的灯光切换步骤。

这是我的代码示例:https : //codesandbox.io/s/statemachine-test-sj3w7

这是测试失败,错误为“无法读取未定义的属性'状态'”。

import {testStateMachine} from 'react-automata';
import {Lights, lightMachine } from '../Components/Lights';

test('lights with imported components',()=>{
  testStateMachine({ lightMachine}, Lights);
});

最好的问候克里斯汀

理查德·马特森

通过更改规范Lights.test.js,我得到了一个有效的测试:

import {testStateMachine} from 'react-automata';
import {Lights, lightMachine } from '../Components/Lights';

test('lights with imported components',()=>{
  testStateMachine({ lightMachine}, Lights);
});

对此:

import { testStateMachine, withStateMachine } from 'react-automata';
import { Lights } from '../Components/Lights';
import { lightMachine } from "../Xstate/Lightmachine";

test('lights with imported components', () => {

  const fixtures = {
    initialData: {
      states: {
        'greenText': 'green light',
        'yellowText':'yellow light',
        'redText':'red light'
      }
    }
  }

  const StateMachine = withStateMachine(lightMachine)(Lights)

  testStateMachine(StateMachine, { fixtures });
});

从示例spec react-automata / test / testStateMachine.spec.js示例中,您需要构建第StateMachine一个。

然后,由于App向提供了道具Lights,因此在测试中请使用fixtures.initialData进行相同的操作。

该测试在CodeSandbox中不起作用,可能是因为我没有进行分叉-但它在我的本地计算机上工作正常。

进一步说明

该库似乎对Jest的版本很挑剔。我不得不将沙箱中的24.9.0降级为24.7.1。不知道为什么。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

开玩笑的React示例

来自分类Dev

开玩笑:ReferenceError:描述未定义

来自分类Dev

开玩笑比较对象。串

来自分类Dev

未定义不是对象(评估'_react.React.Component')

来自分类Dev

开玩笑在require('react')上崩溃

来自分类Dev

开玩笑-ReferenceError:导入的函数未定义

来自分类Dev

开玩笑:无法读取未定义的属性

来自分类Dev

开玩笑:无法设置未定义的属性“”(角度)

来自分类Dev

开玩笑:TypeError:无法读取未定义的属性'foo'

来自分类Dev

开玩笑SpyOn值而不是getter

来自分类Dev

TypeError:XXXXXXX不是函数(在开玩笑的同时)

来自分类Dev

开玩笑-添加'</React.Fragment>'后,快照测试失败

来自分类Dev

基本的create-react-app开玩笑测试说明

来自分类Dev

在React + Typescript + Webpack项目中开玩笑配置错误

来自分类Dev

使用 react-intersection-observer 开玩笑测试反应组件

来自分类Dev

react-native-Picker-未定义不是对象(评估'this.props.children [position] .props)

来自分类Dev

使用本机React的Redux错误类型错误:未定义不是对象(评估'_this.props.counter')

来自分类Dev

React-Client-Session TypeError:未定义不是对象(正在评估'_reactClientSession.default.setStoreType')

来自分类Dev

React-Native-TypeError:未定义不是评估useContext的对象

来自分类Dev

React-Native-未定义不是对象”(评估'this.state。*)_renderRow

来自分类Dev

React Native:另一个“未定义不是对象(评估 action.type)

来自分类Dev

React Native Redux:“未定义不是对象(评估'action.type')”

来自分类Dev

开玩笑的自定义匹配器:匹配器内部未定义“ this”

来自分类Dev

开玩笑抛出TypeError:this.inputEl.focus不是函数#1964

来自分类Dev

开玩笑TypeError:Document.save不是函数

来自分类Dev

开玩笑/反应/ Mobx:TypeError mobxReact.observer不是函数

来自分类Dev

模拟的npm模块以开玩笑的方式返回空对象

来自分类Dev

开玩笑-在测试中重复使用对象

来自分类Dev

开玩笑:如何测试获取对象的描述符

Related 相关文章

  1. 1

    开玩笑的React示例

  2. 2

    开玩笑:ReferenceError:描述未定义

  3. 3

    开玩笑比较对象。串

  4. 4

    未定义不是对象(评估'_react.React.Component')

  5. 5

    开玩笑在require('react')上崩溃

  6. 6

    开玩笑-ReferenceError:导入的函数未定义

  7. 7

    开玩笑:无法读取未定义的属性

  8. 8

    开玩笑:无法设置未定义的属性“”(角度)

  9. 9

    开玩笑:TypeError:无法读取未定义的属性'foo'

  10. 10

    开玩笑SpyOn值而不是getter

  11. 11

    TypeError:XXXXXXX不是函数(在开玩笑的同时)

  12. 12

    开玩笑-添加'</React.Fragment>'后,快照测试失败

  13. 13

    基本的create-react-app开玩笑测试说明

  14. 14

    在React + Typescript + Webpack项目中开玩笑配置错误

  15. 15

    使用 react-intersection-observer 开玩笑测试反应组件

  16. 16

    react-native-Picker-未定义不是对象(评估'this.props.children [position] .props)

  17. 17

    使用本机React的Redux错误类型错误:未定义不是对象(评估'_this.props.counter')

  18. 18

    React-Client-Session TypeError:未定义不是对象(正在评估'_reactClientSession.default.setStoreType')

  19. 19

    React-Native-TypeError:未定义不是评估useContext的对象

  20. 20

    React-Native-未定义不是对象”(评估'this.state。*)_renderRow

  21. 21

    React Native:另一个“未定义不是对象(评估 action.type)

  22. 22

    React Native Redux:“未定义不是对象(评估'action.type')”

  23. 23

    开玩笑的自定义匹配器:匹配器内部未定义“ this”

  24. 24

    开玩笑抛出TypeError:this.inputEl.focus不是函数#1964

  25. 25

    开玩笑TypeError:Document.save不是函数

  26. 26

    开玩笑/反应/ Mobx:TypeError mobxReact.observer不是函数

  27. 27

    模拟的npm模块以开玩笑的方式返回空对象

  28. 28

    开玩笑-在测试中重复使用对象

  29. 29

    开玩笑:如何测试获取对象的描述符

热门标签

归档