【发布时间】:2021-07-29 01:19:05
【问题描述】:
你好,我有一个简单的应用程序,它连接到一个主题,然后更新他的状态,在玩的时候似乎可以工作,但是我有一个问题,如何正确地为它编写一个测试 有一个库我用https://www.npmjs.com/package/pubsub-js
import React, { useState, useEffect } from 'react'
import PubSub from 'pubsub-js'
const App = () => {
const [data, setData] = useState([])
const mySub = (msg, pubData) => {
setData(pubData)
}
useEffect(() => {
const token = PubSub.subscribe('TOPIC', mySub);
return () => {
PubSub.unsubscribe(token)
};
},[]);
return (
<input onChange={() => {}} value={data && data[0]?.value}
)
};
import React from 'react'
import PubSub from 'pubsub-js'
import { mount } from 'enzyme'
import App from '.'
const mocked = [{ value: 1}]
describe('should receive some date', () => {
it('xx', () => {
const app = mount(<App />)
PubSub.publish('TOPIC', mocked);
PubSub.publishSync('TOPIC', mocked);
// WHAT NEXT?
})
})
我尝试了一些 间谍,查找输入并检查值,但没有任何改变......为什么? 我应该如何测试这个 Function 组件?
【问题讨论】:
-
mount函数从何而来? -
@slideshowp2 我添加了导入
标签: reactjs jestjs react-hooks enzyme publish-subscribe