Giả sử tôi có thành phần này:Kiểm tra thành phần vi (nhấp chuột) trong Phản ứng-Native với jest
import React, { Component } from 'react';
import { Text, TouchableWithoutFeedback, View } from 'react-native';
class MyComp extends Component {
onRowPress() {
this.myCoolFunction();
}
myCoolFunction() {
console.log('hi');
}
render() {
return (
<TouchableWithoutFeedback onPress={this.onRowPress.bind(this)}>
<View>
<Text>Hello World</Text>
</View>
</TouchableWithoutFeedback>
);
}
}
export default MyComp;
Làm thế nào để tôi đi về mô phỏng 1 nhấp chuột vào 'TouchableWithoutFeedback' và đảm bảo rằng 'myCoolFunction' được gọi là chính xác 1 lần?
Nếu nó không phải là phải, sau đó tôi không muốn thêm phụ thuộc nhiều hơn khác 'phản ứng-dom' và 'phản ứng-addons-test-utils'.
Tôi thấy rất nhiều hướng dẫn tuyên bố điều này và điều đó nhưng tôi lo sợ chúng đã lỗi thời và tôi muốn chắc chắn rằng tôi sẽ không giải quyết một số cách giải quyết không cần thiết và làm đầy mã của tôi.
Tôi có phản ứng/phản ứng/bản địa trong các phiên bản mới nhất của họ.
Chỉnh sửa: Trong Jest's official documentation nó nói rằng các thử nghiệm DOM có thể được thực hiện với Enzyme hoặc TestUtils. Làm thế nào tôi có thể thực hiện điều này bằng cách sử dụng TestUtils?
Hãy xem này [hướng dẫn] (https://facebook.github.io/jest/docs/tutorial-react.html) từ trang Phản ứng của. Những gì bạn nên kiểm tra là trạng thái của thành phần như Facebook đề xuất, không phải nếu onClick đã được thực hiện. Bây giờ, nếu những gì bạn đang mong đợi sau khi nhấp vào nút là một thành phần khác đang được gọi, bạn nên giả lập thành phần đó. –
Như bạn có thể thấy onClick của tôi không điều khiển trạng thái. Ngoài ra, đây là các bài kiểm tra phản ứng để dễ dàng truy cập DOM hơn. – Tsury