blob: 3508206132fd5b64eaba3d50c3b4549a2b82e4e8 [file] [log] [blame]
#summary "Why My Patch Doesn't Need Tests"
#labels Importance-Useful,Phase-QA,Contents-Complete
Author: Adrienne Walker and Raphaël Moll (colleagues of Nathaniel's at Google)
==_Appeal To Importance_==
This needs to land this right now to fix a bug / make a milestone / my hair’s on fire; can't you understand that there's no time for tests??
==_Sufficient Coverage Argument_==
This CL already has at least one unit test, and therefore should be considered reasonably tested.
==_Argument From Historical Laziness_==
This other pre-existing system doesn’t have tests, so my similar new system shouldn’t need any either!
==_Missing Infrastructure Argument_==
There’s no good way to write these tests easily, so I shouldn’t need to write them.
==_Insufficient Coverage Argument_==
The tests requires extensive mocking (of servers, RPCs, filesystems, 3d party libs with their own side-effects, GUI) and would thus not test the real system but a limited fictional subsystem. Such tests would be totally irrelevant so they need not be written.
==_Just a Refactoring Argument_==
All functionality in this patch is already entirely covered by preexisting tests. Trust me.
==_Promise Of Future Work_==
I pinky-swear that I will write a follow-up CL that adds tests, just as soon as I fix these other things first...
==_The Proof is in the Pudding_==
We're already using this for releases. It clearly works so we don't need to write tests. At this point we empirically have full coverage and just found a couple minor bugs.