Ich arbeite an einer React Native Komponente, die Gesten über PanResponder handhabt.So testen Sie PanResponder in React Native?
Ich möchte testen, dass, wenn bestimmte dx, dy Werte an die Methode onPanResponderRelease
übergeben werden, wird erwartet Aktion ausgeführt werden. Nachfolgend finden Sie ein Beispiel dafür, was ich testen möchte:
export default class MyComponent extends Component<Props, State> {
constructor(props: Props) {
super(props);
this._panResponder = this._initPanResponder();
}
_initPanResponder(): PanResponder {
const panResponder = PanResponder.create({
onStartShouldSetPanResponder:() => true,
onMoveShouldSetPanResponder:() => true,
onPanResponderMove: Animated.event([
null,
{ dx: this._animation.x, dy: this._animation.y }
]),
onPanResponderRelease: (e, gestureState) => {
const { dx, dy } = gestureState;
if (dy > 100) {
doSomething(); // <---- what I would like to unit test
}
}
});
return panResponder;
}
}
Gibt es eine einfache Möglichkeit, um Unit-Test folgendes mit Jest?
Danke, es macht Sinn! Ich hatte irgendwie gehofft, dass es eine Möglichkeit geben würde, Gestik zu simulieren. Aber wie Sie gesagt haben, bin ich nicht sicher, dass es so viel Wert bringt (besonders im Rahmen der Unit-Tests). Der einzige Nachteil, den ich sehe, ist, dass ich diese Event-Handling-Funktion exportieren muss (was vorher nicht der Fall war), um sie direkt aus dem Test heraus aufzurufen. –