I think there's a chapter on this in Christian Johansen's Test-Driven
JavaScript Development (tddjs.com). I'm not sure because I haven't got there
yet, and I don't have the book with me, but I'm fairly sure it addresses
this exact issue.

On 17 February 2011 12:32, Matthias Reuter <[email protected]> wrote:

> Hi all,
>
> I use the module pattern to keep the global object clean. Mostly, my
> modules are completely independant, so I do not use the revealing module
> pattern.
>
> (function () {
>
>  function a () {}
>  function b () {}
>
> }());
>
> Now the question is, how do I unit-test function a and function b? Somehow
> I need to be able to access these functions, on the other hand I actually
> don't want these to be accessible, otherwise I wouldn't have chosen the
> module pattern.
>
> My first idea was to omit the immediate function which forms the module
> pattern in the source files, and wrap it around the module during the build
> process. Unfortunately, that would mean I would either have to build the
> application everytime I make a change, or I would have to carefully prevent
> variable name collisions during development. Which I don't want, that's why
> I'm using the module pattern.
>
> A different idea was to reveal all inner functions, if some global debug
> object is set:
>
> (function () {
>
>  function a () {}
>  function b () {}
>
>  if (typeof _debug !== "undefined") {
>    _debug.addModule({
>      "a" : a,
>      "b" : b
>    }, this);
>  }
>
> }());
>
> Now I'm not too happy about that approach either. So do you have any ideas
> how to test functions within a module?
>
> Matt
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/[email protected]/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/[email protected]/
>
> To unsubscribe from this group, send email to
> [email protected]
>



-- 
Nick Morgan
http://skilldrick.co.uk
@skilldrick <http://twitter.com/skilldrick>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to