In Puppet core we explicitly reset the entire settings subsystem for every test case.  My recommendation is to do something similar here.

Puppet does have an API for this sort of thing, please see [Puppet::Test::TestHelper.before_each_test()](https://github.com/puppetlabs/puppet/blob/3.5.1/lib/puppet/test/test_helper.rb#L109)

If this isn't being called as expected, then we might want to add this behavior to core Puppet.  We could do this in such a way that rspec-puppet uses the API if possible, and falls back to modifying Puppet internals if not.

The less 3rd party code reaches in and mucks with Puppet internals, the better.