For good TDD, the tests should only test at the topmost interface or function inputs and outputs.
Tests for internal functions should be moved to a different test area. I.e. they are optional; they are only used when the functions are first created. Refactoring could remove or change internal functions. The important part is testing the interface inputs and the expected outputs, not how the internal functions work.
For good TDD, the tests should only test at the topmost interface or function inputs and outputs.
Tests for internal functions should be moved to a different test area. I.e. they are optional; they are only used when the functions are first created. Refactoring could remove or change internal functions. The important part is testing the interface inputs and the expected outputs, not how the internal functions work.