Most definitely not. Human processes are always inferior to software enforcement. Code reviews are heavily dependent upon leadership, training, and quality control factors likes comprehensibility[1], mood, problem domain familiarity, etc...
Unit tests are also made by human processes :) The advantage is if they were made good that time they will give you nice regression coverage for free in the future.
Unit tests aren't intrinsic or automatic. They're extra pieces of code that have to be written, debugged and maintained by human beings. They ought to be considered as little more than extremely limited, narrowly-scoped sanity checks; not definitive pass/fail gates for the code they're exercising.
Ideally your unit tests are run on each build, so you hit the tests locally, before you push your changes in for a code review.