请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

根组件测试问题(变量访问.检测状态)

老师函数组件测试遇到不少困难,想请问现行根组件测试的用法有没有变化
尤其instance(或getDOMNode)无效,该怎么调用里面的actions变量下的函数呢
另一个问题是根组件现在还去测试应用状态吗(测试的三层模型)
因为无法访问组件内容的状态(state),确认是否跟测试资料一致…
现在查到理解的资料是测试Dom的显示就好,但似乎跟容器.展示组件的显示测试重叠了
有点茫然新的策略,包含像是(test getEditData without initial data in create mode),无法用原本setState设置状态的情况下,怎么模拟直接进入创建页的状况(测异步次数)。
问题有点多,在这些问题上一直找不到突破口,最后感谢老师的协助
App.test.js

正在回答

1回答

同学你好 假如是函数式组件 现在已经弱化了展示性和容器型组件的概念 现在对于根组件我建议不使用这样的方法进行测试 而是使用 DOM 节点的方式。这也是现在react-testing-library 的一个测试方法,更关注界面而不是内部的数据。对于create 和 edit,我建议你创建两个不同的 testCase 一个是有 id 的,一个是没有 id 的,将两者的逻辑分开

1 回复 有任何疑惑可以回复我~
  • 提问者 慕瓜5414566 #1
    谢谢老师的回复,两个库好像可以达到一样的效果,那老师现在也以react-testing-library来代替enzyme吗,还有个问题是像如果无法直接调用函数组件内的actions.editItem,像App.test.js要测试更新条目(test updateItem with initial data),所以也是大概跟创建页测试这样的做法吗
    ex..
     setInputValue('#inputTitle', 'new title')
     setInputValue('#inputAmount', '200')
     setInputValue('#inputDate', '2018-08-30')...wrapper.find('form').simulate('submit')
    回复 有任何疑惑可以回复我~ 2021-01-09 02:47:58
  • 提问者 慕瓜5414566 #2
    这样感觉只要测试根组件,容器组件再测试的必要性好像就没了
    回复 有任何疑惑可以回复我~ 2021-01-11 15:05:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信