2017-09-20 15 views
0

我很新反應原住民和Javascript,我目前正試圖測試我的組件裏面的方法,我已經看到了這個被用酶做這樣測試方法,無需酶 - 陣營本地

const wrapper = shallow(<Component/>);
wrapper.instance().methodIwannaCall();

來自iOS開發世界,我很難理解爲什麼它看起來如此複雜以至於得到一個類的實例並調用一個方法。

不幸的是,我正在使用反應16.0.0-alpha.12,這意味着我現在不能使用Enzyme,這似乎是每個人都用來完成我所需要的庫。

另請注意,我沒有使用Redux,如果我使用Redux,我懷疑這樣做會不會很痛苦,因爲這樣我所有的業務邏輯都會在操作中,因此會更容易測試。

任何意見/幫助非常感謝。

乾杯

回答

0

您可以使用純ReactTestUtils使用renderIntoDocument方法,讓您的組件的實例,例如:

import ReactTestUtils from 'react-dom/test-utils'; 

const wrapper = ReactTestUtils.renderIntoDocument(<Component/>); 
wrapper.methodIwannaCall(); 
+0

哎@Amid謝謝您的回答,我沒能得到那個工作,並且我剛剛閱讀ReactTestUtils將不適用於React-Native。看到這個答案https://stackoverflow.com/a/46381217/1932547 – Andrespch

+0

我很抱歉 - 錯過了你的react-native標籤。我只用普通的反應來使用這種方法。 – Amid