I've found the best testing pattern is to test the interface of the component, not the implementation. This means treating the component as an opaque function with inputs (props) and outputs (the rendered result). Your tests just need to that verify that different prop values result in the DOM changes or callbacks that you expect.
Do you use any tools to make the assertions on the resulting DOM simpler? What about any components that maintain internal state; do you just step them through the states and assert the DOM state as well?
Here's an example of how we used react-test-kit to test a SearchBox component: https://github.com/smaato/ui-framework/blob/develop/src/fram...
Here's the interactive component example: http://smaato.github.io/ui-framework/#/searchbox