node.jsとjsdomを使う。ユニットテスト環境想定
# setup dom before react
jsdom = require('jsdom').jsdom
global.document = jsdom('<html><body></body></html>')
global.window = document.parentWindow
global.navigator = window.navigator
React = require 'react'
{TestUtils} = require 'react-addons'
Greeting = React.createClass
getInitialState: -> title: 'foo'
setTitle: (title) -> @setState title: title
render: -> React.DOM.h1 {}, [
React.DOM.span key: 1, @state.title
React.DOM.button ref: 'btn', key: 2, onClick: (-> console.log 'clicked'), 'button'
]
comp = TestUtils.renderIntoDocument Greeting title: 'foo'
console.log comp.getDOMNode().innerHTML
comp.setState title: 'bar'
console.log comp.getDOMNode().innerHTML
しかしTestUtils.simulate.events(comp.refs.btn) が動かなかった