1. Test individual components in isolation:
Test each component separately to ensure that it works as expected and to make it easier to debug issues.
2. Test both the state and the props of a component:
Test how a component behaves when it receives different props and how it behaves when its internal state changes.
3. Use a test runner:
A test runner like Jest can help you easily run your tests and generate test coverage reports.
4. Use a test utility library:
A utility library like Enzyme can help you easily manipulate and assert on the output of React components.
5. Test edge cases:
Test how your components behave when they receive unexpected input or when they are in an unexpected state.
6. Test for accessibility:
Test that your components are accessible to assistive technologies.
7. Test for performance:
Test the performance of your components, especially if they are complex or have a lot of data.
8. Keep your tests simple and readable:
Avoid complex logic in your tests and use clear and descriptive test names.
9. Keep your tests fast:
Avoid unnecessary set-up and tear-down operations, and avoid hitting external services or APIs.
10. Test-drive development:
Write your tests before you write your components, this way you can ensure that your components are working as expected and you don't miss any functionality.
Oldest comments (2)
All good except for 7. ... Unit Tests don't usually test for performance, for a variety of good reasons.