Consider the case of a bug fix which causes a small change in the expected output, forcing a minor change in the test suite. It is extremely convenient to have both changes in
Definitively keep those changes (code and unit test) as one commit: SCM is also about being able to reproduce a given state, and that include both the program and its tests.
If you need to review only code changes, do a git diff on src
only, not on tst
.
Since those linked changes remain in one commit, you avoid the bisect issue entirely.
In short, keep it simple ;)
If you like, you can keep them in separate commits in a development branch. After each pair of commits, merge into the feature branch. This should give you the ability to do either way.