我有一个由几个组件扩展的基类,并且在该基类内部,有一个隐式变量是从扩展它的类中传入的。例如,我将以下内容作为基类:

export default class BaseCard extends React.Component {

  constructor(props, context) {
    super(props, context);
  }

  render() {
    return (
      <div>
        {this.hasData && <span> Has Content </span>}
      </div>);
  }
}


以及扩展BaseCard的组件:

export default class MyCard extends BaseCard {

    constructor(props) {
        super(props);
        this.hasData = true;
    }

    render() {
      return (
        <div>
          MyCard content
        </div>);
    }
}


this.hasData是在MyCard组件内部定义的,但是由于我正在测试BaseCard,因此它不是在类内部定义的,因此,我无法测试依赖于该变量的DOM部分。使用酶进行测试时如何将其传递给我?

最佳答案

您可以在实例上设置变量,如下所示:

const wrapper = mount(<MyCard />);
wrapper.instance().hasData = true;

10-08 15:07