No one can tell you the exact answer. It really depends on your project in further detail. I hope I don't have to proof that testing cannot proof anything? More exactly, you can proof there is a defect, but otherwise, if testing finds no defects, it cannot proof that all defects are fixed, no matter how much you test. So, the amount and set of subjects for testing should be made dependent on some logical analysis, nature, architecture and design of your project; and the decision should be based on a good amount of common sense.
Now, I would note that the layers are not really units, unless your project is really small. In a considerably big and/or complex project the units should be much smaller. The units should be tested on the minimal fine-grain level, in some bigger groups in collaboration. Again, it depends on your design; but not just this; rather, all you design should include and take into account the testing and promote the "testability" of the units and collaboration.
Finally, I would not advise to skip any layers from testing. Again, it depends on your project, in particular, on the resources you can afford.
And, to finish with that, one not 100% relevant, but very interesting and somewhat related article:
Joel Spolsky,
Top Five (Wrong) Reasons You Don't Have Testers,
http://www.joelonsoftware.com/articles/fog0000000067.html[
^].
—SA