2016-07-29 4 views
0

Derzeit verwende ich Jest, um meine React App zu testen. Und ich habe folgenden Code:Reagieren nicht gerendert überprüft Attribut

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

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

Warum checked Attribut wird nicht gerendert?

+0

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

Antwort

0

Nachdem ich meine Reaktion aktualisiert habe, funktioniert es. Aber in den Tests zeigt OuterHTML nicht das geprüfte Attribut wie Vijay sagt. So verwenden Sie die Folge erwarten:

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

Das checked-Attribut ist möglicherweise nicht in outerHTML vorhanden. Aber der Test für node.checked gibt true zurück.

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

Danke für die Hilfe. –

Verwandte Themen