|
|
|
|
|
by numpy-thagoras
232 days ago
|
|
You write the requirements, you write the spec, etc. before you write the code. You then determine what are the inputs / outputs that you're taking for each function / method / class / etc. You also determine what these functions / methods / classes / etc. compute within their blocks. Now you have that on paper and have it planned out, so you write tests first for valid / invalid values, edge cases, etc. There are workflows that work for this, but nowadays I automate a lot of test creation. It's a lot easier to hack a few iterations first, play with it, then when I have my desired behaviour I write some tests. Gradually you just write tests first, you may even keep a repo somewhere for tests you might use again for common patterns. |
|
Quite curious about the TDD approach to that, espcially taking into account the religious "no code without broken tests" mantra.