Question: It seems like a strange feature that rubygems wants to know what my development dependencies are, so far I never saw it used to actually load these when running the gem tests.

Answer: 
My gems have normally unit-test. This test requires sometimes gems, which are not needed to use the gem. Or perhaps you need additional gems to generate parts of the gem.

---

Once I misused development dependencies to define 'optional dependecies' (dependecies were necessary for some specific features of my gem, but not needed for the 'normal' usage).

Example:
My application offered the posibility to export to a file as text or pdf. The pdf-generation uses [prawn](https://rubygems.org/gems/prawn). So prawn is a dependecy - but it is not necessary to use the application, only a specific feature needs it.

So I didn't add prawn to gem dependencies (it is not necessary), but to the development dependencies (it is usefull for the gem).
The [documented](https://guides.rubygems.org/patterns/#declaring-dependencies) answer to this question at RubyGems is as follows:

> 
> Development dependencies are useful for when someone wants to make
> modifications to your gem. When you specify development dependencies,
> another developer can run gem install --dev your\_gem and RubyGems will
> grab both sets of dependencies (runtime and development). Typical
> development dependencies include test frameworks and build systems.
> 
> 
> 

For example, I may specify `spec.add_development_dependency 'minitest'`

Adding the `--dev` flag to the `gem install` command would then pull in the `minitest` gem automatically. This feature saves another developer from manually having to identify and install the gems necessary for development.