2016-01-27 14 views
6

की संपत्ति 'propTypes' नहीं पढ़ सकता है कृपया मुझे निम्न प्रतिक्रिया पृष्ठ के लिए यूनिटटेस्ट लिखने के लिए कहा गया है।प्रतिक्रियाएं: TypeError: अपरिभाषित

export default class Collapsible extends React.Component { 
    static propTypes = { 
     title: React.PropTypes.string, 
     children: React.PropTypes.any, 
    }; 

    render() { 
     const { title } = this.props; 
     return (
      <details> 
       <summary>{title}</summary> 
       {this.props.children} 
      </details> 
     ); 
    } 
} 

टुट Here के बाद मैं नीचे की तरह

describe('Collapsible',()=>{ 
    it('works',()=>{ 
     let renderer = createRenderer(); 
     renderer.render(<Collapsible title="MyTitle"><span>HEllo</span></Collapsible>); 
     let actualElement = renderer.getRenderOutput(); 
     let expectedElement = (<details><summary>title</summary>Details</details>); 
     expect(actualElement).toEqual(expectedElement);      
    }); 
}); 

हालांकि, अपने परीक्षण त्रुटि शीर्षक में ऊपर फेंक रहा है, मैं संक्षिप्त (यानी शीर्षक और बच्चों पर अपने रंगमंच की सामग्री पर शक कर रहा हूँ अपने परीक्षण लिखा था) परीक्षण से असाइन नहीं कर रहे हैं। कृपया मैं इसे कैसे संबोधित करूं? किसी भी मदद या मार्गदर्शन की सराहना की जाएगी।

export default class Collapsible extends React.Component { 
    render() { 
     const { title } = this.props; 
     return (
      <details> 
       <summary>{title}</summary> 
       {this.props.children} 
      </details> 
     ); 
    } 
} 

Collapsible.propTypes = { 
    title: React.PropTypes.string, 
    children: React.PropTypes.any, 
}; 

उत्तर

14

अपना समय सभी के लिए धन्यवाद:

+1

मेरे मामले में यह दूसरी तरफ था - मैंने रेडक्स की 'कनेक्ट()' विधि जोड़ा और विभिन्न नामों के साथ निर्यात किया। परीक्षण में इसे बदलने के लिए भूल गए। –

1

प्रति the docs, एक ही रास्ता ES6 वर्गों के साथ रंगमंच की सामग्री को परिभाषित करने के इस प्रकार है। यह पता चला है कि मैं परीक्षण फ़ाइल में गलत तरीके से Collapsible आयात कर रहा था। नीचे है मैं कैसे

import React from 'react'; 
import expect from 'expect'; 
import {createRenderer} from 'react-addons-test-utils'; 
import { Collapsible } from '../Collapsible.js'; 

से पहले का आयात किया गया था

import React from 'react'; 
import expect from 'expect'; 
import {createRenderer} from 'react-addons-test-utils'; 
import Collapsible from '../Collapsible'; 

यह काम करने के लिए लगता है के लिए बदलने के बाद। मैं पहले मौजूदा चर/ऑब्जेक्ट के रूप में Collapsible आयात कर रहा था। दस्तावेज़ों और कुछ ट्यूटोरियल के माध्यम से पढ़ने के बाद मुझे एहसास हुआ।

+0

प्रतिक्रिया के लिए धन्यवाद। हम घटक का उपयोग करते हैं और ठीक काम कर रहे हैं। उपरोक्त यूनिटटेस्ट को लागू करते समय मुझे जारी किया जाता है। मुझे संदेह है कि जिस तरह से मैं उपरोक्त फ़ाइल में अपने प्रोप पास करता हूं, वैसे ही त्रुटि है। हालांकि, मुझे यकीन नहीं है कि इसे कहां और कैसे ठीक किया जाए। –

संबंधित मुद्दे