Agreed, you find the right shape for the code as you build and try stuff, adding the tests right after makes most sense, unless maybe you’re just testing an API or something
As I said, an interface can easily be tested, but if it’s internal implementation I normally make a design, implement it, and I usually come up with other ideas and I like having the fluidity of making changes as I prototype and such, that way I’m not constrained by a test yet. After I’m done, and documented my choices if necessary, then I add the tests.
Designing your unit tests before you’ve written your algorithm is - in my experience - a bit ass backwards.
Agreed, you find the right shape for the code as you build and try stuff, adding the tests right after makes most sense, unless maybe you’re just testing an API or something
I mean I’m theory for any planned method you would know the input and expected output before the coffee is written.
As I said, an interface can easily be tested, but if it’s internal implementation I normally make a design, implement it, and I usually come up with other ideas and I like having the fluidity of making changes as I prototype and such, that way I’m not constrained by a test yet. After I’m done, and documented my choices if necessary, then I add the tests.