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: 
If someone decides to hack your gem for whatever reason, e.g. they fork it on Github to add a feature to it (which they might want to contribute), it helps if they know what development dependencies your gem needs (e.g. testing frameworks, mocking tools etc.).

If you're using bundler with the `gemspec` command, it will hook into your gemspec dependencies and install the development dependencies along with the runtime ones when you run

```
bundle install

```

This saves you having to install these gems manually. 

The gem command can also list all the dependencies of a gem including the development ones:

```
gem dependency my_gem

Gem my_gem-0.1.3
  activerecord (~> 3.0.0)
  json (~> 1.4.3, development)
  rake (>= 0, development)
  rspec (~> 2.5.0, development)
  ruby-openid (~> 2.1.0)

```

Once again this is probably more for other people rather than for yourself.
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.