如果混合面板的初始化发生在该组件之外,该如何为该组件编写测试?

时间:2019-06-03 11:19:53

标签: reactjs react-native jestjs enzyme

我想为一个组件编写测试。在此组件中,有一个componentDidMount生命周期方法。在其中,我使用了功能Mixpanel.track(“ text”)。但是我在此组件之外有sharedInstanceWithToken。我如何为此编写模拟?

public class Taxer implements BinaryOperator<Integer> {
 int counter = 0;

 @Override
 public Integer apply(Integer i1, Integer i2) {
  counter++;
  if (counter % 100 == 0) {
   return i1 + i2 + 1;
  } else {
   return i1 + i2;
  }
 }
}

...

Taxer t = new Taxer();

...

.collect(Collectors.reducing(0, x -> x, t);

我尝试了这种解决方案,但没有任何反应。

import React from 'react';
import {View} from 'react-native';
import Mixpanel from 'react-native-mixpanel';

class HelpChat extends SamComponent {

  componentDidMount() {
    Mixpanel.track('написать в поддержку');
  }

  render() {
    return (
      <View />        
    );
  }
};

export default HelpChat;

错误: 尚未创建混合面板实例。您必须先调用sharedInstanceWithToken(token)或MixPanelInstance.initialize(token),并应等待其诺言兑现,然后再进行其他调用以避免任何内部本机问题。

0 个答案:

没有答案