2015-09-27 25 views
19

Đối với React, tôi sử dụng Shallow Rendering kỹ thuật để kiểm tra đơn vị thành phần React của tôi. Tôi có thể làm điều gì đó tương tự trong React Native không?Trong React Native, làm thế nào tôi có thể kiểm tra các thành phần của tôi với Shallow Rendering?

Tôi đã followed the instructions to set up Jest, nhưng không thể tìm thấy bất kỳ tài liệu nào về thử nghiệm các thành phần của tôi. Tôi muốn làm đầy đủ TDD với React Native theo cùng cách tôi làm với React.

+2

Câu hỏi hay. Các tài liệu chính thức rất ngắn gọn để nói rằng ít nhất .. –

+1

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

+0

Theo như tôi ' m nhận thức phản ứng-bản địa không thực sự làm cho quá nhiều giả định về môi trường iOS hoặc Android. Bạn không thể chỉ sử dụng Jest và giả vờ như nó là một ứng dụng web? Sẽ không phải tất cả các phụ thuộc đều được chế nhạo? – Parris

Trả lời

9

Tôi nghĩ rằng enzyme là những gì bạn đang tìm kiếm.

Nó cung cấp cho bạn chức năng shallow cho phép bạn so sánh nông (như bạn muốn).

Enzyme có thể được sử dụng cùng với tất cả những người chạy thử nghiệm phổ biến (như Mocha, Jest, Karma, v.v.). Danh sách đầy đủ có thể được tìm thấy on the library's github page.

Ví dụ:

import {shallow} from 'enzyme'; 

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

Đối với đọc thêm bạn có thể có một cái nhìn về enzyme của Shallow Rendering API hoặc docs nói chung.

Các vấn đề liên quan