2016-04-23 14 views
1

Ich versuche, Tests mit Jest für React schreiben. Aber ich bin immer folgende Fehlermeldung:React Jest Test fehlgeschlagen - type.toUpperCase ist keine Funktion

TypeError: type.toUpperCase is not a function

reagieren (Images.js):

import React, { Component } from 'react'; 

export class Images extends Component { 
    render() { 
     return (
      <div class="images"> 

      </div> 
     ); 
    } 
} 

Test (Jest):

jest.autoMockOff(); 

import React from 'react'; 
import TestUtils from 'react-addons-test-utils'; 

const ImagesComponent = require('../src/Components/images'); 

describe('ImagesComponent',() => { 
    it('Render instance of div class=images in DOM',() => { 
     const shallowRenderer = TestUtils.createRenderer(); 
     shallowRenderer.render(<ImagesComponent className="images" />); 
     imagesDivComponent = shallowRenderer.getRenderOutput(); 
     expect(imagesDivComponent.props.className).toEqual('images'); 
    }); 
}); 
+0

wo rufen Sie die 'toUpperCase()' Funktion? Dieser Codeabschnitt ist in Ihrer Frage nicht enthalten. –

+1

Ich bin nicht, das ist das Problem. Ich habe es jedoch behoben, indem ich die Art geändert habe, wie ich meine React-Komponente definiere, indem ich 'var Images = React.createClass ({' anstelle der Exportklasse und dann 'module.exports = Images;' am Ende benutze – DorianHuxley

Antwort

0

neu definieren Ihre Reaktion Komponente von:

export class Images extends Component {...} 

zu:

var Images = React.createClass ({...)}; 
module.exports = Images; 
Verwandte Themen