2015-09-27 6 views
19

Für React verwende ich Shallow Rendering Techniken für Unit-Tests meiner React-Komponenten. Kann ich etwas ähnliches in React Native tun?In React Native Wie kann ich meine Komponenten mit Shallow Rendering testen?

Ich habe followed the instructions to set up Jest, kann aber keine Dokumentation zum Testen meiner Komponenten finden. Ich würde gerne vollständige TDD mit React Native machen, genauso wie ich es mit React mache.

+2

Gute Frage. Die offiziellen Dokumente sind extrem kurz, um es gelinde auszudrücken. –

+1

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

+0

Soweit ich ' m aware reactive-native macht nicht wirklich zu viele Annahmen über iOS- oder Android-Umgebungen. Kannst du nicht einfach Jest verwenden und so tun, als wäre es eine Web-App? Werden nicht alle Abhängigkeiten verspottet? – Parris

Antwort

9

Ich denke, enzyme ist was du suchst.

Es bietet Ihnen eine shallow Funktion, mit der Sie einen flachen Vergleich (wie Sie wollen) machen können.

Enzym kann zusammen mit allen beliebten Testläufer (wie Mocha, Jest, Karma usw.) verwendet werden. Vollständige Liste kann on the library's github page gefunden werden.

Beispiel:

import {shallow} from 'enzyme'; 

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

Zur weiteren Lesen Sie einen Blick auf Enzyms nehmen Shallow Rendering API oder docs im Allgemeinen.