我試圖執行snapshots
與jest
,我遇到了一個問題。解決方案可能很簡單,但我找不到它。最佳玩回覆操作
LoginForm.js
class LoginForm extends React.Component {
constructor(props) {
super(props)
}
}
componentWillMount(){
this.props.startSpinner()
}
render(){
return(....)
}
}
LoginForm.spec.js
it('should render snapshot',() => {
const component = renderer.create(
<LoginForm />
)
const tree = component.toJSON()
expect(tree).toMatchSnapshot()
})
startSpinner動作
export function startSpinner() {
return (dispatch) => {
dispatch({
type: 'WINDOW_START_SPINNER',
})
}
}
W¯¯如果我運行測試,它會拋出此錯誤,不僅會出現此操作,而且會調用所有稱爲redux
操作的函數。
TypeError: this.props.startSpinner is not a function
我怎樣才能讓jest
發揮好這個redux
行動?
如果你想確保startSpinner ()被調用,你可以通過模擬:'const mockStartSpinner = jest.fn(); '。否則()=> {}是一個非常好的noop,不需要爲此引入整個lodash庫! –
stone