2016-08-16 3 views
0

여러 구성 요소에 의해 확장되는 기본 클래스가 있고 그 기본 클래스 안에는 확장 클래스에서 전달되는 암시 적 변수가 있습니다.효소에서 추상 클래스를 테스트하거나 암시 적 변수를 전달하는 방법은 무엇입니까?

export default class BaseCard extends React.Component { 

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

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

그리고 BaseCard 확장 구성 요소 : 예를 들어, 나는 기본 클래스로 다음 한 나는 BaseCard을 테스트하고있어 이후

export default class MyCard extends BaseCard { 

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

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

this.hasDataMyCard 구성 요소 내에 정의되어 있지만, 클래스 내부에서 정의되지 않았기 때문에 거기에있는 변수에 의존하는 DOM 부분을 테스트 할 수 없습니다. 효소로 시험 할 때 어떻게 통과 할 수 있습니까?

답변

0

당신은이 같은 인스턴스 변수를 설정할 수 있습니다

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