2016-07-29 6 views
0

現在、私はJestを使用してReact Appをテストしています。私は次のコードを持っています:Reactはチェックされた属性をレンダリングしません

var component = TestUtils.renderIntoDocument(<input type="radio" defaultChecked={true}/>) 
var node = ReactDOM.findDOMNode(component) 

console.log(node.outerHTML) 
// Return 
// <input data-reactroot="" type="radio"> 

チェックされた属性がレンダリングされないのはなぜですか?

+0

http://www.webpackbin.com/E1jvGHB_W –

答えて

0

私は自分の反応を更新した後に動作します。しかし、テストでは、outerHTMLはVijayのようにchecked属性を表示しません。したがって、以下を使用してください:

expect(node.checked).toEqual(true); 
1

checked属性がouterHTMLに存在しない可能性があります。しかし、node.checkedのテストはtrueを返します。

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

describe('radio_test',() => { 
    it('outputs default',() => { 
    const component = TestUtils.renderIntoDocument(<input type="radio" defaultChecked={true}/>); 
    const node = ReactDOM.findDOMNode(component); 
    expect(node.type).toEqual('radio'); 
    expect(node.checked).toEqual(true); 
    }); 
}); 
+0

ありがとうございました。 –

関連する問題