Deep Cover is designed to provide the best coverage for Ruby code. You can get more precise line coverage and branch coverage. It can be used to replace the built-in Coverage Library. It provides a better picture of your code usage. A line is considered covered if it is executed completely. Optionally, branch coverage can detect if certain branches are not taken. MRI considers all methods defined, even those defined on objects, via define_method, class_eval and others. DeepCover covers all blocks and defs for Istanbul output. DeepCover does not consider loops to be branches but it is easy to support them if necessary. DeepCover needs to be configured and only a small amount of code is loaded. Coverage is not started even though coverage has been started. Deep-cover can be used to inject itself into existing Coverage libraries to make it easier for projects to transition.