RSpec recipe: remove constants created during a test execution
Sometimes you want to create a fake object for a test, it can be especially the case when you are creating a ruby gem. You need to declare some classes, structs maybe even modules and use them inside your tests. But it is important to maintain a clean state between tests. Declared classes, modules, structs are global constants, they pollute the global namespace. This is a problem.
In RSpec you can solve this using an around hook and remove all constants declared during a test. Here is the solution:
You can play around with the code by cloning the repo. Any feedback would be greatly appreciated
November 26 Update:
Robert @lobatifricha point a better way if you only need to pass created class as an argument to a method that you are testing.