This happens enough that if I were running the cert stuff, I'd set up a recursive name server dedicated to the cert tests, and run a cron job that flushes the caches every five minutes or so (rndc flush). That way if there was a neg cache or some misconfigured item cached, it would only last five minutes.
It does use a local caching recursor. Alas, the only way to do that and make it available to the various testing bits is to make it the system global one. Restarting it that often has caused issues in the brief window when it's restarting.
Consider it an additional educational element on DNS TTL values. ;-)
I wonder if using "rndc flush" would be disruptive? I can see how restarting would cause problems, but with "rndc flush" it doesn't stop the DNS server, just tells it to dump its cache (presumably negative cache entries too). Presuming you're using BIND.
Yeah I was also thinking that it's sort of part of the deal to have to wait for DNS if you dork it up, since the same thing would happen in a non test scenario too.