I also tend to write more automated integration or system tests since I
find more issues in the flow of data between various parts of the
application than in individual modules. Fowler mentions a technique about a
mock that records the results from the real service (
http://martinfowler.com/bliki/SelfInitializingFake.html) that can then
speed up future tests runs. Outside of unit tests you can replay the saved
function calls and ensure you get the same results.

-- Daniel R. <[email protected]> [http://danielr.neophi.com/]


On Sat, May 24, 2014 at 9:40 PM, Jake <[email protected]> wrote:

> Thanks Bruno!  A followup question regarding the unit testing:  I like to
> write lots of unit tests and I like knowing that when another developer
> changes code that might break something elsewhere in the codebase, a unit
> test will fail to let them know this happened.  Coming from a
> statically-typed language background, I am accustomed to using mocks to
> isolate what I'm trying to test, where if something like a function
> signature were to change, the test would fail to compile, but in JS (or any
> other dynamically typed language) the tests continue to pass just fine,
> since the mock data continues to work just fine.  It seems like a change in
> my testing strategy is needed.  The obvious solution seems to be to write a
> lot more integration tests, possibly sometimes in place of unit tests with
> mocks.  Do you find yourself more often writing a very large number of
> integration tests and avoiding unit tests with mocks?
>
>
>
>
> On Saturday, May 24, 2014 2:13:01 PM UTC-5, Bruno Fuster wrote:
>
>> The same rules that you follow for other languages, mainly dynamic ones
>> like ruby python groovy.
>>
>> - separation of concerns
>> - well structured and small methods, using either OO or a functional style
>> - a lot of testing, unit, integration, etc
>> - pair programming
>> - learn to not make callback hell, using small functions, async or
>> promises, and take advantage of functions as first class citizens
>> - the better you plan and design with your team, the less refactors you
>> might need
>>
>> Cheers
>>
>> On May 24, 2014, at 5:55 AM, Jake <[email protected]> wrote:
>>
>> In discussions at my company about adopting node.js one concern that
>> tends to come up is about managing the codebase of a large project where
>> about 10 developers are working on it concurrently.
>>
>>
>> I would like to get some suggestions, techniques, best practices, and
>> advice from the group here for:
>>
>>
>> 1.  maintaining a clean codebase for a large node.js web application
>>
>> 2.  refactoring in a large node.js project (probably tied to #1)
>>
>> 3.  having a team of about 10 developers working on the same node.js
>> application
>>
>> 4.  quickly ramping up new developers (that already know JS well) on a
>> large node.js application
>>
>> Thanks in advance for your advice and recommendations!
>>
>> --
>> Job board: http://jobs.nodejs.org/
>> New group rules: https://gist.github.com/othiym23/9886289#file-
>> moderation-policy-md
>> Old group rules: 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 unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>>
>> To view this discussion on the web visit https://groups.google.com/d/
>> msgid/nodejs/182298cb-ff3a-4a9d-a76f-b25be5a9e657%40googlegroups.com<https://groups.google.com/d/msgid/nodejs/182298cb-ff3a-4a9d-a76f-b25be5a9e657%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>>  --
> Job board: http://jobs.nodejs.org/
> New group rules:
> https://gist.github.com/othiym23/9886289#file-moderation-policy-md
> Old group rules:
> 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 unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/nodejs/c7aacfca-91d6-44c9-8d65-531d74341cf4%40googlegroups.com<https://groups.google.com/d/msgid/nodejs/c7aacfca-91d6-44c9-8d65-531d74341cf4%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/CAETDeSDKv5HcYYvs8tLEviMEODFhmOeZd0GnFa7ckOu_sf-LbQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to