It's pretty bad at this. It's much better used as a testing methodology than a design methodology.
It can provide high level guardrails confirming implementation correctness that are as indifferent to software design as possible (giving freedom to refactor).
It can provide high level guardrails confirming implementation correctness that are as indifferent to software design as possible (giving freedom to refactor).