我们正在本机项目中使用react-native-signature-capture库,我们想测试签名是否正确发送。要做到这一点,用户可以用他的手指绘制签名,是否有一种方法可以使用排毒来模拟某些绘制?甚至一行都行。
我尝试了swipe
和scroll
方法,但都无效。
答案 0 :(得分:1)
我认为您想要做的是模拟签名捕获组件。听起来您是否对签名捕获组件是否起作用并不感兴趣,而是可以在您的流程中使用它。您可以在此处找到有关如何开始使用的信息:https://github.com/wix/detox/blob/master/docs/Guide.Mocking.md
如果您仅在项目中直接使用签名捕获库。像这样:
import SignatureCapture from 'react-native-signature-capture';
很难模拟,因为它是直接从node modules文件夹中获取的(然后,库的作者需要进行排毒模拟)。但是,如果您自己将其包装到文件中:
...
import React, {Component} from 'react';
import SignatureCapture from 'react-native-signature-capture';
export default class CustomSignatureCapture extends Component {
...
render() {
return (
<SignatureCapture
onSaveEvent ={this.props.onSave}
/>
);
}
}
说我们将其称为CustomSignatureCapture.js。然后,您可以在其旁边创建自己的模拟文件CustomSignatureCapture.e2e.js(仅在您遵循排毒指南的情况下才起作用)。
import pngFile from './savedBase64EncodedString.js';
export default class CustomSignatureCaptureMock extends Component {
...
render() {
return (
<TouchableWithoutFeedback
testId='CustomComponentMock',
onPress = {() => this.props.onSave(pngFile)}
/>
);
}
}