0
我想淺測試我的組件,並且我知道淺測試只測試一個深度。我的問題是,我收到警告是因爲我的組件需要由mapStateToProps和mapDispatchToProps收到的道具。這讓我想知道如何正確地將這些道具發送到我的淺呈現組件,而不會重複方法。 我使用笑話和酶。淺測試組件,抱怨從mapStateToProps和mapDispatchToProps得到所需道具
我想淺測試我的組件,並且我知道淺測試只測試一個深度。我的問題是,我收到警告是因爲我的組件需要由mapStateToProps和mapDispatchToProps收到的道具。這讓我想知道如何正確地將這些道具發送到我的淺呈現組件,而不會重複方法。 我使用笑話和酶。淺測試組件,抱怨從mapStateToProps和mapDispatchToProps得到所需道具
讓我們把你的組件ComponentA
包裹在HOC的陣營 - 終極版(假設你正在使用它,因爲你的問題是mapStateToProps
和mapDispatchToProps
)connect
。 用於測試該組件的傳統方法是:
獲取包裹的組件:connect
有一個名爲WrappedComponent
靜態屬性,所以你把它弄出來是這樣的:
const ExtractedComponent = ComponentA.WrappedComponent;
模擬功能和道具並將其像普通道具一樣傳遞到提取的組件中:
const wrapper = mount(<ExtractedComponent connectFunctionA={mockA} ... />);
測試它像正常的組件! :)
如果您有清晰的演示文稿/容器分離,您可以輕鬆地單獨測試演示文稿組件(在這種情況下,我假設所有動作都可以是簡單的模擬函數)。將一些代碼添加到問題中。 –