On Sat, Jan 19, 2013 at 8:15 PM, Athan Clark <athan.cl...@gmail.com> wrote:

> Hello everyone. I'd like to make unit testing a practice difficult to
> evade in Node.js. One of the requirements, though, is that you need to be
> able to test a module's functionality independently of it's dependencies
> (say that 10 times fast!).


This is what mockery is designed to help with:

https://github.com/mfncooper/mockery

Especially with the recently-added "clean cache" option, you can mock out
dependencies of your modules or even of your dependencies, and test with
the isolation you're looking for.

--
Martin Cooper



> My idea is to make node more flexible in the directories it chooses to
> look for node modules by providing an alternative "mode" for it to look in
> - ie if *NODE_MODE* is set to "test", then npm will first try to look in
> ./test_node_modules for a package before looking in ./node_modules. That
> way we can provide *alternative *modules for a package - ie mock ones. Or
> if you were trying to make a package that was compatible with similar
> modules, you could have a 3rd party testing package, like a simple blog,
> that uses the similar package in one mode, then your package in another.
>
> Imagine being able to do a *`npm run-scripts test --deep`*, and then see
> each and every module complete a unit test before progressively walking up
> the dependance tree making scenario tests along the way. It makes my
> continuous integration senses salivate.
>
> What do you all think? Could someone could direct me to where/how npm /
> node implements `require();`? Where should I start?
>
> Thanks in advance!!
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to nodejs@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to