我有一個React組件實現了shouldComponentUpdate方法,我想單元測試它。理想情況下,我可以在單元測試中更改組件上的某個道具或狀態,並驗證它是重新渲染還是不渲染。如果有幫助,我正在使用enzyme。如何單元測試React組件shouldComponentUpdate方法
9
A
回答
14
我可能會直接調用shouldComponentUpdate。
喜歡的東西
const comp = shallow(<Comp {...props} />)
const shouldUpdate = comp.instance().shouldComponentUpdate(nextProps, nextState)
expect(shouldUpdate).toBe(true/false)
試圖通過確定組件實際呈現的/沒有渲染測試可能是更多的麻煩比它的價值;我甚至不知道你會如何使用酶。你不能真正離開渲染輸出,因爲你可能不會從shouldComponentUpdate返回false,除非渲染輸出和以前一樣。因此,確定渲染是否發生不能單獨來自輸出。
雖然通過直接調用它進行測試似乎很好。只要您相信React將正確使用您的shouldComponentUpdate返回值(如果不存在更大的問題),它是安全的。
-3
我認爲你應該不提供單元測試,這就是爲什麼你不需要酶進行單元測試。
您的案例的快速單元測試示例。
const classContext = {
props: {},
state: {}
};
const nextProps = {};
const nextState = {};
const shouldUpdate = yourComponent.prototype.shouldComponentUpdate.call(classContext, nextProps, nextState);
expect(shouldUpdate).toBe(true/false)
相關問題
- 1. 如何測試React組件類方法
- 2. 測試React組件中的fetch()方法
- 3. 如何在單元測試中訪問React中的方法
- 4. 如何單元測試依賴視覺數據的React組件
- 5. 如何正確(單元)測試Om/React組件?
- 6. 如何爲ES6類React組件創建Chai/Mocha單元測試?
- 7. 如何正確地單元測試一個React組件?
- 8. React |單元測試如何在成功的AJAX調用中測試方法?
- 9. 如何單元測試反應組件的方法?
- 10. 如何測試React組件異步方法
- 11. Jest + Typescript如何測試React組件中的方法?
- 12. 如何單元測試庫方法
- 13. 如何區分單元測試方法?
- 14. 如何單元測試工廠方法?
- 15. 如何單元測試即時方法
- 16. 如何單元測試無效方法
- 17. 如何單元測試的Vue組件
- 18. React /酶:如何測試子組件?
- 19. 如何測試React-Redux連接組件?
- 20. 如何測試React組件propTypes驗證
- 21. 如何測試私人React組件
- 22. PySpark單元測試方法
- 23. python單元測試方法
- 24. 單元測試NSURLConnectionDelegate方法
- 25. 單元測試UI方法
- 26. 單元測試Java方法
- 27. 單元測試WCF方法
- 28. 單元測試文件I/O方法
- 29. 單元測試FormSection組件
- 30. Angular2組件單元測試
我不認爲你在說什麼是單元測試,是嗎?理想情況下,您應該能夠獨立測試'shouldComponentUpdate'。 – speckledcarp