Paste any function into Claude and describe the behavior you want to protect — not the implementation, the outcome users experience. Get a test file with happy path, realistic edge cases, and error states. Includes a note on which tests will break during refactoring so you only maintain the ones worth keeping. Stops the testing feels like overhead problem.
45 minutes per function plus fewer refactor breakages
Engineering
Claude
Verify that at least one test would fail if you deleted the core logic of the function. If all tests pass on an empty implementation, they are testing nothing useful.
Generated tests reflect the code as currently written, not as it was intended to work. If the function has existing bugs, the tests will encode those bugs as the correct expected behaviour. Run all generated tests immediately and investigate any that pass on clearly incorrect code.