mfncooper / mockery

Simplifying the use of mocks with Node.js
Other
1.1k stars 60 forks source link

Implemented resolving of relative module names to absolute paths #9

Open ichernev opened 12 years ago

ichernev commented 12 years ago

Specifying files to mock by a relative name is not enough if you require the same file multiple times from different directories. So I added an option to mockery to convert all relative filenames to absolute ones, based on the test file for example. There are two advantages of doing so:

  1. You can specify the filenames to mock, relative to the test file -- i.e the same way requires work, so its a no-brainer
  2. Requiring the same file from multiple locations would return the given mock, because all filenames are converted to absolute ones when requiring
benbuckman commented 11 years ago

+1

benbuckman commented 11 years ago

I wonder, couldn't this be done more simply, with path.resolve or require.resolve on all entries to registeredMocks? (Probably as an option in registerMock)