`React.addons.TestUtils` makes it easy to test React components in the testing framework of your choice (we use [Jasmine](http://pivotal.github.io/jasmine/) with [jsdom](https://github.com/tmpvar/jsdom)).
Simulate an event dispatch on a React component instance or browser DOM node with optional `eventData` event data. **This is possibly the single most useful utility in `ReactTestUtils`.**
Pass a mocked component module to this method to augment it with useful methods that allow it to be used as a dummy React component. Instead of rendering as usual, the component will become a simple `<div>` (or other tag if `mockTagName` is provided) containing any provided children.
### isComponentOfType
```javascript
boolean isComponentOfType(ReactComponent instance, function componentClass)
```
Returns true if `instance` is an instance of a React `componentClass`.
Returns true if `instance` is a plain text component.
#### array findAllInRenderedTree(ReactComponent tree, function test)
### findAllInRenderedTree
Traverse all components in `tree` and accumulate all components where `test(component)` is true. This is not that useful on its own, but it's used as a primitive for other test utils.
```javascript
array findAllInRenderedTree(ReactComponent tree, function test)
Traverse all components in `tree` and accumulate all components where `test(component)` is true. This is not that useful on its own, but it's used as a primitive for other test utils.
Finds all instance of components in the rendered tree that are DOM components with the class name matching `className`.
Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.
Finds all instance of components in the rendered tree that are DOM components with the class name matching `className`.
Like `scryRenderedDOMComponentsWithClass()` but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.
Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.
### scryRenderedDOMComponentsWithTag
#### array scryRenderedComponentsWithType(ReactComponent tree, function componentClass)
Finds all instances of components with type equal to `componentClass`.
Finds all instance of components in the rendered tree that are DOM components with the tag name matching `tagName`.
#### ReactComponent findRenderedComponentWithType(ReactComponent tree, function componentClass)
### findRenderedDOMComponentWithTag
Same as `scryRenderedComponentsWithType()` but expects there to be one result and returns that one result, or throws exception if there is any other number of matches besides one.
Like `scryRenderedDOMComponentsWithTag()` but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.
Pass a mocked component module to this method to augment it with useful methods that allow it to be used as a dummy React component. Instead of rendering as usual, the component will become a simple `<div>` (or other tag if `mockTagName` is provided) containing any provided children.
array scryRenderedComponentsWithType(ReactComponent tree, function componentClass)
```
Simulate an event dispatch on a React component instance or browser DOM node with optional `nativeEventData` event data. **This is possibly the single most useful utility in `ReactTestUtils`.**
Finds all instances of components with type equal to `componentClass`.
> Note:
>
> This helper is used to simulate browser events, so synthetic React events like `change` are not available. If you want to test `change`, simulate the underlying `input` browser event.
### findRenderedComponentWithType
Example usage: `React.addons.TestUtils.Simulate.click(myComponent)`
```javascript
ReactComponent findRenderedComponentWithType(ReactComponent tree, function componentClass)
```
`Simulate` has a method for every event that React understands.
Same as `scryRenderedComponentsWithType()` but expects there to be one result and returns that one result, or throws exception if there is any other number of matches besides one.