在排毒测试中画一条线

时间:2018-08-29 13:25:32

标签: android react-native detox

我们正在本机项目中使用react-native-signature-capture库,我们想测试签名是否正确发送。要做到这一点,用户可以用他的手指绘制签名,是否有一种方法可以使用排毒来模拟某些绘制?甚至一行都行。

我尝试了swipescroll方法,但都无效。

1 个答案:

答案 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)}
      />
    );
  }
}