If you continue to write Cucumber scripts instead of unit tests, you will probably find that your tests become very slow to run. If the tests are slow, you probably won't run them very often, so the pace of development will slow down.
You can use RSpec for integration tests that run at the same level as Cucumber. If you need to share and discuss features with non-developers, then Cucumber is a huge help. But even if you're a solo developer, Cucumber helps by acting as a “mental guard” between the behavior you need and the underlying implementation.
Most people's standard practice is to write extensive unit tests for a model, minimum tests for a controller, and very rarely any unit tests for presentation. Then you should use Cucumber to verify that everything interacts correctly (make sure the scripts cover any loops / conditions in the controllers and views).
Andy waite
source share