2016-04-23 1 views
1

Я пытаюсь написать тесты, используя Jest для React. Тем не менее, я получаю следующее сообщение об ошибке:React Jest Test Failed - type.toUpperCase не является функцией

TypeError: type.toUpperCase is not a function

React (images.js):

import React, { Component } from 'react'; 

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

      </div> 
     ); 
    } 
} 

Test (шутя):

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

Где вы звоните в toUpperCase) 'функцию' (? Этот раздел кода не указан в вашем вопросе. –

+1

Я не, это проблема. Я исправил это, изменив способ, которым я определяю свой компонент React, используя 'var Images = React.createClass ({' вместо класса экспорта, а затем добавляя 'module.exports = Images;' внизу – DorianHuxley

ответ

0

Пересмотрите ваш React компонент от:

export class Images extends Component {...} 

к:

var Images = React.createClass ({...)}; 
module.exports = Images; 
Смежные вопросы