2016-06-21 2 views
1

mocha와 jsdom을 사용하여 React에 대한 기본 단위 테스트를하고 있습니다. 여기 mocha와 jsdom을 사용한 실체 단위 테스트가 실패했습니다

내 코드입니다 :

var React = require('react/addons'), 
    assert = require('assert'), 
    TodoItem = require('../app/components/todo-item.jsx'), 
    TestUtils = React.addons.TestUtils; 

describe('Todo-item component', function(){ 
    before('render and locate element', function() { 
    var renderedComponent = TestUtils.renderIntoDocument(
     <TodoItem done={false} name="Write Tutorial"/> 
    ); 

    // Searching for <input> tag within rendered React component 
    // Throws an exception if not found 
    var inputComponent = TestUtils.findRenderedDOMComponentWithTag(
     renderedComponent, 
     'input' 
    ); 

    this.inputElement = inputComponent.getDOMNode(); 
    }); 

    it('<input> should be of type "checkbox"', function() { 
    assert(this.inputElement.getAttribute('type') === 'checkbox'); 
    }); 

    it('<input> should not be checked', function() { 
    assert(this.inputElement.checked === false); 
    }); 

});

가 ToDoItem에 대한 반작용 코드는 다음과 같습니다

Unexpected token (10:6) 
    8 | before('render and locate element', function() { 
    9 |  var renderedComponent = TestUtils.renderIntoDocument(
> 10 |  <TodoItem done={false} name="Write Tutorial"/> 
    |  ^
    11 | ); 
    12 | 
    13 |  // Searching for <input> tag within rendered React component 

다음과 내가 사용 gulpfile가 될 때 :

gulp.task('test', function() { 
    gulp.src('./tst/**/*.js') 
    .pipe(mocha({ 
    reporter: 'spec', 
    compilers: { 
     js: require('babel-core/register') 
    } 
    })); 
}); 

은 무엇

var React = require('react'); 

module.exports = React.createClass({ 
    displayName: 'TodoItem', 

    getInitialState: function() { 
    return { done: this.props.done } 
    }, 

    render: function() { 
    return (
     <label> 
     <input type="checkbox" defaultChecked={this.state.done} /> 
     {this.props.name} 
     </label> 
    ); 
    } 
}); 

나는 정의되지 않은 토큰을 말하는 오류가 나는 잘못하고있다. 튜토리얼을 따르려고합니다.

답변

0

방금 ​​링크드 인 튜토리얼의 package.json에서 복사했습니다. 과 같이 테스트를 실행 해보십시오 :

mocha test/**/*-test.js --compilers js:babel-core/register --recursive

+0

이 코멘트가 아닌 대답 : – robertklep

+0

http://www.bebetterdeveloper.com/coding/getting-started-react-mocha.html – chrisrhyno2003

+0

@해야한다 robertklep right :) 내 게시물을 지금 편집했습니다. –

관련 문제