2015-09-27 13 views
19

Per React, utilizzo le tecniche Shallow Rendering per il test dell'unità sui componenti di React. Posso fare qualcosa di simile in React Native?In React Native come posso testare i miei componenti con Shallow Rendering?

Ho followed the instructions to set up Jest, ma non riesco a trovare alcuna documentazione sul test dei miei componenti. Mi piacerebbe fare il TDD completo con React Native nello stesso modo in cui lo faccio con React.

+2

Buona domanda. I documenti ufficiali sono estremamente brevi a dir poco .. –

+1

https://medium.com/@jcfrancisco/unit-testing-react-native-components-a-firsthand-guide-cea561df242b#.qeg60edil –

+0

Per quanto mi riguarda m aware react-native non fa troppe assunzioni sugli ambienti iOS o Android. Non puoi semplicemente usare Jest e fingere come se fosse un'app web? Non si derideranno tutte le dipendenze? – Parris

risposta

9

Penso che enzyme sia quello che stai cercando.

Fornisce una funzione shallow che consente di effettuare un confronto superficiale (come desiderato).

L'enzima può essere utilizzato insieme a tutti i più popolari test runner (come Mocha, Jest, Karma ecc.). La lista completa può essere trovata on the library's github page.

Esempio:

import {shallow} from 'enzyme'; 

describe('<MyComponent />',() => { 
    it('should render three <Foo /> components',() => { 
    const wrapper = shallow(<MyComponent />); 
    expect(wrapper.find(Foo)).to.have.length(3); 
    }); 
}); 

Per ulteriori approfondimenti è possibile dare uno sguardo su enzimi del Shallow Rendering API o docs in generale.

Problemi correlati