Unit tests are used to verify small pieces of code as well as larger integrated pieces. I'm in the beginning phases of a new project that currently has about 4000 LOC and 5400 lines of test code, and 1400 actual tests (Test::More::ok()s), and only about 10% of the app has actually been written - basically only the business objects. This indicates that once the app is complete, I'll have about 14000 tests to 40k LOC, or 1 test per 3 lines of code.
I'm curious as to other monks' ratio of either tests or lines-of-test to application code. A large part of this app is being designed by test case ("FooDoesBarWithFrobnitz" is a test that informs a Foo instance that it must do Bar when presented with Frobnitz; the need for a Frobnitz class did not exist before the test case was written), so I'm wondering if I'm being over-cautious in testing everything, or if this ratio is about average.