What a tricky question.
Lately I’ve been thinking of pushing more & more into the dumb component layer. It makes things clear how to test things.
A nice side-effect is it makes things clear about what to test at the container/smart component layer. To the point of the only thing left being is:
If you reduce it this far, what’s left to test is mapStateToProps and mapDispatchToProps. Which are just two functions.
For me, I don’t want to do integration testing.
I don’t want a runner like Appium(?) or Selenium(?). In my jaded (and probably horribly misguided) experience, you fiddle with those systems than you do more than your real code.
I do realize that’s the unpopular opinion, it’s just that I’m allergic to diminished returns.