2016-07-29 111 views
0

当前我正在使用Jest来测试我的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所说的那样显示检查的属性。所以,使用以下期望:

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

感谢您的帮助。 –