tdd - testing node.js with expresso - redis session store -


I am trying to learn TDD with the node. I have hit this issue with expresso where the expresso command is hanging, I think due to redis-server, by eliminating the process with ctrl + c Finally, I'm getting the output (100% of 3 exams pass).

expresso hang the command, and what can I do about it?

My app looks like this:

  // module dependency requires var auth = ('connect-at'), RedisStore = is required ( 'Connect-radis'); Var Express = Required ('Express'); Var app = module.exports = express.createServer (); // configuration app Configuration (function () (app.cset ('visual', __dirname + '/ views'); app.set ('visual engine', 'z'); app.ewesen (express.bodyParser); ap. Express.MathOrrayide ()); App Uses (ExxcookiePaper ()); App Use (Express Season ({Store: New Radisson Store, Mystery: "Secret Goes Here"}); app .use (app.router ); Application Uses (Express. Static (__DERNAM + '/ Public'));); App.configure ('development', function () {app.use (express.errorHandler) ({dump exception: true, show stack: true});}); App.configure ('output', function () {app.use (express.errorHandler ());}); // root.ap.get ('/ login', function (rick, 'r', 'r' Rs) {res.render ('user / login', {title: 'login'})}}; app.get ('/ register', function (req, res) {res.render ('user / login' , {Title: 'register'});}); // Listen to only $ node app.js (! Module parent) {app.listen (3000); Console.log ("listening on the express server port port "; App.address () .ports);}   

and my test: $ codeo // expresso / ** * module dependency * / Var app = requires ('../ap'), emphasis = require Module.exports = {'GET /': function () {assert.response (app, {url} '/'}, {status: 200, headers: {'content-type' : 'Text / html; charset = utf-8'}}, function (race) {assert.includes (res.body, 'title> heading & gt; archestate & lt; / title & gt;');}) ;}, 'GET / login': function () {assert.response (app, {url: '/ login}}, {status: 200, headers: {' Content-type ':' text / html; Charset = utf-8 '}}, function (race) {assert.includes (res.body,' title> title & gt; Login & lt; / title & gt; ';);}); }, 'GET / register': function () {assert.response (app, {url: '/ register}}, {status: 200, headers: {' content-type ':' text / html; charset = utf- 8 '}}, function (race) {assert.includes (res.body,' Register & lt; / title & gt; ');}); } </ Code> </ pre> <p>} </ p> </ div> <p> <div class = "post-text" itemprop = "text"> <p> Try typing your test like this And when all tests are completed, the test runner should finish himself: </ p> <pre> <code> 'gET /': function (done) {assert.response (app, {url: '/'}, {Status: 200, Header: {'content-type': 'text / html; charset = UTF-8'}}, function (race) {assert.includes (res.body, 'title> title & gt; arcstadt & Lt; / title & gt; '); done ();}); </ Code> </ pre> </ div> </ html><br /><br /> <script data-cfasync='false' type='text/javascript' src='//p257699.clksite.com/adServe/banners?tid=257699_495604_10&type=footer&size=37'></script> <script data-cfasync='false' type='text/javascript' src='//p257699.clksite.com/adServe/banners?tid=257699_495604_11&tagid=9'></script> <script type="text/javascript" src="//ylx-1.com/slider.php?section=General&pub=435796&ga=g&side=random"></script> </div> <div class='post-bottom'> <div class='post-footer float-container'> <div class='post-footer-line post-footer-line-1'> </div> <div class='post-footer-line post-footer-line-2'> </div> <div class='post-footer-line post-footer-line-3'> </div> </div> <div class='post-share-buttons post-share-buttons-bottom invisible'> <div class='byline post-share-buttons goog-inline-block'> <div aria-owns='sharing-popup-Blog1-byline-673762043826464119' class='sharing' data-title='tdd - testing node.js with expresso - redis session store -'> <button aria-controls='sharing-popup-Blog1-byline-673762043826464119' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-673762043826464119' role='button'> <div class='flat-icon-button ripple'> <svg class='svg-icon-24'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </div> </button> <div class='share-buttons-container'> <ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-673762043826464119' role='menu'> <li> <span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://www.blogger.com/share-post.g?blogID=890025557193785755&postID=673762043826464119&target=' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Get link'> <svg class='svg-icon-24 touch-icon sharing-link'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>Get link</span> </span> </li> <li> <span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://www.blogger.com/share-post.g?blogID=890025557193785755&postID=673762043826464119&target=facebook' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Share to Facebook'> <svg class='svg-icon-24 touch-icon sharing-facebook'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>Facebook</span> </span> </li> <li> <span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://www.blogger.com/share-post.g?blogID=890025557193785755&postID=673762043826464119&target=twitter' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Share to X'> <svg class='svg-icon-24 touch-icon sharing-twitter'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>X</span> </span> </li> <li> <span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://www.blogger.com/share-post.g?blogID=890025557193785755&postID=673762043826464119&target=pinterest' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Share to Pinterest'> <svg class='svg-icon-24 touch-icon sharing-pinterest'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>Pinterest</span> </span> </li> <li> <span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://www.blogger.com/share-post.g?blogID=890025557193785755&postID=673762043826464119&target=email' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Email'> <svg class='svg-icon-24 touch-icon sharing-email'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>Email</span> </span> </li> <li aria-hidden='true' class='hidden'> <span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html' role='menuitem' tabindex='-1' title='Share to other apps'> <svg class='svg-icon-24 touch-icon sharing-sharingOther'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <span class='platform-sharing-text'>Other Apps</span> </span> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <section class='comments embed' data-num-comments='0' id='comments'> <a name='comments'></a> <h3 class='title'>Comments</h3> <div id='Blog1_comments-block-wrapper'> </div> <div class='footer'> <div class='comment-form'> <a name='comment-form'></a> <h4 id='comment-post-message'>Post a Comment</h4> <a href='https://www.blogger.com/comment/frame/890025557193785755?po=673762043826464119&hl=en-GB&saa=85391&origin=http://tcspaincode11.blogspot.com&skin=contempo' id='comment-editor-src'></a> <iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410px' id='comment-editor' name='comment-editor' src='' width='100%'></iframe> <script src='https://www.blogger.com/static/v1/jsbin/1212307205-comment_from_post_iframe.js' type='text/javascript'></script> <script type='text/javascript'> BLOG_CMT_createIframe('https://www.blogger.com/rpc_relay.html'); </script> </div> </div> </section> </article> </div> </div><div class='widget PopularPosts' data-version='2' id='PopularPosts1'> <h3 class='title'> Popular posts from this blog </h3> <div class='widget-content'> <div role='feed'> <article class='post' role='article'> <h3 class='post-title'><a href='http://tcspaincode11.blogspot.com/2014/07/qt-switchcase-statement-in-c-with.html'>qt - switch/case statement in C++ with a QString type -</a></h3> <div class='post-header'> <div class='post-header-line-1'> <span class='byline post-timestamp'> - <meta content='http://tcspaincode11.blogspot.com/2014/07/qt-switchcase-statement-in-c-with.html'/> <a class='timestamp-link' href='http://tcspaincode11.blogspot.com/2014/07/qt-switchcase-statement-in-c-with.html' rel='bookmark' title='permanent link'> <time class='published' datetime='2014-07-15T03:22:00-07:00' title='2014-07-15T03:22:00-07:00'> July 15, 2014 </time> </a> </span> </div> </div> <div class='item-content float-container'> <div class='popular-posts-snippet snippet-container r-snippet-container'> <div class='snippet-item r-snippetized'> I want to use switch-case in my program but the compiler generates an error. How can I use the switch statement with QString ? The compiler gives me this error: The expression of the switch type 'QString' is invalid My code is as follows : boolStopWord (the word QString) {bool flag = false; Switch (word) {case "the": flag = true; break ; "On" case: flag = true; break ; Case "in": flag = true; break ; Case "your": flag = true; break ; Case "near": flag = true; break ; Case "all": flag = true; break ; Case "this": flag = true; break ; } Return flag; } How do I use the switch statement with a Caststring ? You can not use the switch statement in C ++ language with integral or enum types. You can formally enter the square type of object in the switch statement, but this means that the compiler will look for a user-defined conversion to convert it to an integral or enum type. </div> <a class='snippet-fade r-snippet-fade hidden' href='http://tcspaincode11.blogspot.com/2014/07/qt-switchcase-statement-in-c-with.html'></a> </div> <div class='jump-link flat-button ripple'> <a href='http://tcspaincode11.blogspot.com/2014/07/qt-switchcase-statement-in-c-with.html' title='qt - switch/case statement in C++ with a QString type -'> Read more </a> </div> </div> </article> <article class='post' role='article'> <h3 class='post-title'><a href='http://tcspaincode11.blogspot.com/2010/09/python-sqlite3operationalerror-near.html'>python - sqlite3.OperationalError: near "REFERENCES": syntax error - foreign key creating -</a></h3> <div class='post-header'> <div class='post-header-line-1'> <span class='byline post-timestamp'> - <meta content='http://tcspaincode11.blogspot.com/2010/09/python-sqlite3operationalerror-near.html'/> <a class='timestamp-link' href='http://tcspaincode11.blogspot.com/2010/09/python-sqlite3operationalerror-near.html' rel='bookmark' title='permanent link'> <time class='published' datetime='2010-09-15T03:22:00-07:00' title='2010-09-15T03:22:00-07:00'> September 15, 2010 </time> </a> </span> </div> </div> <div class='item-content float-container'> <div class='popular-posts-snippet snippet-container r-snippet-container'> <div class='snippet-item r-snippetized'> I'm trying to create a predefined key after checking the manual and I wrote it: Db.execute ("create table" Table 2 (id, integer primary key, somedata integer) "db.execute" (table creation table 2 does not exist (name text, maintain reference (id) ") and found this: sqlite 3. Operation error: near" references ": syntax error Your second ligne is wrong db.execute ("create table if table does not exist 2 (name text, my_id integer, foreign key (my_id) reference Maintenance (ID)) ") as explained </div> <a class='snippet-fade r-snippet-fade hidden' href='http://tcspaincode11.blogspot.com/2010/09/python-sqlite3operationalerror-near.html'></a> </div> <div class='jump-link flat-button ripple'> <a href='http://tcspaincode11.blogspot.com/2010/09/python-sqlite3operationalerror-near.html' title='python - sqlite3.OperationalError: near "REFERENCES": syntax error - foreign key creating -'> Read more </a> </div> </div> </article> <article class='post' role='article'> <h3 class='post-title'><a href='http://tcspaincode11.blogspot.com/2010/04/python-equivalent-for-ruby-definemethod.html'>Python's equivalent for Ruby's define_method? -</a></h3> <div class='post-header'> <div class='post-header-line-1'> <span class='byline post-timestamp'> - <meta content='http://tcspaincode11.blogspot.com/2010/04/python-equivalent-for-ruby-definemethod.html'/> <a class='timestamp-link' href='http://tcspaincode11.blogspot.com/2010/04/python-equivalent-for-ruby-definemethod.html' rel='bookmark' title='permanent link'> <time class='published' datetime='2010-04-15T03:22:00-07:00' title='2010-04-15T03:22:00-07:00'> April 15, 2010 </time> </a> </span> </div> </div> <div class='item-content float-container'> <div class='popular-posts-snippet snippet-container r-snippet-container'> <div class='snippet-item r-snippetized'> What is a Python equivalent for Ruby's define_method , which is the dynamic generation of class methods will allow? (As can be seen in Wikipedia) Functions are first-class objects in Python and assign them The properties of a class or an example can be a way of doing the same thing as a Wikipedia example: colors = {"black": "000", "red": "F00", "green": "0f0", "yellow": "ff0", "blue": "00f", "magenta": "fff", "cyan": "0ff", "white": " FFF "} Class MyStream (ARR): Pass for Name, Code in colors.iteritems (): def _in_colour ( W code = code): return '& lt; Span style = "color:% s" & gt;% s & lt; / Span & gt; ' % (Code, self) setter (histrive, "in_" + name, _in_ color) </div> <a class='snippet-fade r-snippet-fade hidden' href='http://tcspaincode11.blogspot.com/2010/04/python-equivalent-for-ruby-definemethod.html'></a> </div> <div class='jump-link flat-button ripple'> <a href='http://tcspaincode11.blogspot.com/2010/04/python-equivalent-for-ruby-definemethod.html' title='Python's equivalent for Ruby's define_method? -'> Read more </a> </div> </div> </article> </div> </div> </div><div class='widget HTML' data-version='2' id='HTML3'> <div class='widget-content'> <!-- PopAds.net Popunder Code for tcspaincode11.blogspot.com --> <script type="text/javascript" data-cfasync="false"> /*<![CDATA[/* */ var _pop = _pop || []; _pop.push(['siteId', 2484284]); _pop.push(['minBid', 0]); _pop.push(['popundersPerIP', 0]); _pop.push(['delayBetween', 0]); _pop.push(['default', false]); _pop.push(['defaultPerDay', 0]); _pop.push(['topmostLayer', false]); (function() { var pa = document.createElement('script'); pa.type = 'text/javascript'; pa.async = true; var s = document.getElementsByTagName('script')[0]; pa.src = '//c1.popads.net/pop.js'; pa.onerror = function() { var sa = document.createElement('script'); sa.type = 'text/javascript'; sa.async = true; sa.src = '//c2.popads.net/pop.js'; s.parentNode.insertBefore(sa, s); }; s.parentNode.insertBefore(pa, s); })(); /*]]>/* */ </script> <!-- PopAds.net Popunder Code End --> </div> </div><div class='widget HTML' data-version='2' id='HTML1'> <div class='widget-content'> <script type="text/javascript" src="//ylx-1.com/slider.php?section=General&pub=435796&ga=g&side=random"></script> </div> </div></div> </main> </div> <footer class='footer section' id='footer' name='Footer'><div class='widget Attribution' data-version='2' id='Attribution1'> <div class='widget-content'> <div class='blogger'> <a href='https://www.blogger.com' rel='nofollow'> <svg class='svg-icon-24'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_post_blogger_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> Powered by Blogger </a> </div> <div class='image-attribution'> Theme images by <a href="http://www.offset.com/photos/394244">Michael Elkan</a> </div> </div> </div></footer> </div> </div> </div> <aside class='sidebar-container container sidebar-invisible' role='complementary'> <div class='navigation'> <button class='svg-icon-24-button flat-icon-button ripple sidebar-back'> <svg class='svg-icon-24'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </button> </div> <div class='sidebar_top_wrapper'> <div class='sidebar_top section' id='sidebar_top' name='Sidebar (top)'><div class='widget Profile' data-version='2' id='Profile1'> <div class='wrapper solo'> <div class='widget-content individual'> <a href='https://www.blogger.com/profile/13847995471681994645' rel='nofollow'> <div class='default-avatar-wrapper'> <svg class='svg-icon-24 avatar-icon'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_person_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </div> </a> <div class='profile-info'> <dl class='profile-datablock'> <dt class='profile-data'> <a class='profile-link g-profile' href='https://www.blogger.com/profile/13847995471681994645' rel='author nofollow'> Unknown </a> </dt> </dl> <a class='profile-link visit-profile pill-button' href='https://www.blogger.com/profile/13847995471681994645' rel='author'> Visit profile </a> </div> </div> </div> </div></div> </div> <div class='sidebar_bottom section' id='sidebar_bottom' name='Sidebar (bottom)'><div class='widget BlogArchive' data-version='2' id='BlogArchive1'> <details class='collapsible extendable'> <summary> <div class='collapsible-title'> <h3 class='title'> Archive </h3> <svg class='svg-icon-24 chevron-down'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> <svg class='svg-icon-24 chevron-up'> <use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use> </svg> </div> </summary> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <div class='first-items'> <ul class='flat'> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/09/'>September 2015<span class='post-count'>206</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/08/'>August 2015<span class='post-count'>187</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/07/'>July 2015<span class='post-count'>191</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/06/'>June 2015<span class='post-count'>171</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/05/'>May 2015<span class='post-count'>212</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/04/'>April 2015<span class='post-count'>197</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/03/'>March 2015<span class='post-count'>194</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/02/'>February 2015<span class='post-count'>180</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2015/01/'>January 2015<span class='post-count'>176</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/09/'>September 2014<span class='post-count'>192</span></a> </li> </ul> </div> <div class='remaining-items'> <ul class='flat'> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/08/'>August 2014<span class='post-count'>205</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/07/'>July 2014<span class='post-count'>209</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/06/'>June 2014<span class='post-count'>206</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/05/'>May 2014<span class='post-count'>190</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/04/'>April 2014<span class='post-count'>223</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/03/'>March 2014<span class='post-count'>205</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/02/'>February 2014<span class='post-count'>196</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2014/01/'>January 2014<span class='post-count'>188</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/09/'>September 2013<span class='post-count'>212</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/08/'>August 2013<span class='post-count'>181</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/07/'>July 2013<span class='post-count'>191</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/06/'>June 2013<span class='post-count'>194</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/05/'>May 2013<span class='post-count'>179</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/04/'>April 2013<span class='post-count'>195</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/03/'>March 2013<span class='post-count'>197</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/02/'>February 2013<span class='post-count'>176</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2013/01/'>January 2013<span class='post-count'>192</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/09/'>September 2012<span class='post-count'>195</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/08/'>August 2012<span class='post-count'>218</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/07/'>July 2012<span class='post-count'>204</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/06/'>June 2012<span class='post-count'>189</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/05/'>May 2012<span class='post-count'>213</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/04/'>April 2012<span class='post-count'>188</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/03/'>March 2012<span class='post-count'>191</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/02/'>February 2012<span class='post-count'>180</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2012/01/'>January 2012<span class='post-count'>206</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/09/'>September 2011<span class='post-count'>209</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/08/'>August 2011<span class='post-count'>190</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/07/'>July 2011<span class='post-count'>181</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/06/'>June 2011<span class='post-count'>208</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/05/'>May 2011<span class='post-count'>233</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/04/'>April 2011<span class='post-count'>180</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/03/'>March 2011<span class='post-count'>180</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/02/'>February 2011<span class='post-count'>197</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2011/01/'>January 2011<span class='post-count'>213</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/09/'>September 2010<span class='post-count'>198</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/08/'>August 2010<span class='post-count'>188</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/07/'>July 2010<span class='post-count'>212</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/06/'>June 2010<span class='post-count'>172</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/05/'>May 2010<span class='post-count'>193</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/04/'>April 2010<span class='post-count'>190</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/03/'>March 2010<span class='post-count'>177</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/02/'>February 2010<span class='post-count'>186</span></a> </li> <li class='archivedate'> <a href='http://tcspaincode11.blogspot.com/2010/01/'>January 2010<span class='post-count'>164</span></a> </li> </ul> </div> <span class='show-more pill-button'>Show more</span> <span class='show-less hidden pill-button'>Show less</span> </div> </div> </div> </details> </div> <div class='widget ReportAbuse' data-version='2' id='ReportAbuse1'> <h3 class='title'> <a class='report_abuse' href='https://www.blogger.com/go/report-abuse' rel='noopener nofollow' target='_blank'> Report Abuse </a> </h3> </div><div class='widget Navbar' data-version='2' id='Navbar1'><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar/890025557193785755?po\x3d673762043826464119\x26origin\x3dhttp://tcspaincode11.blogspot.com', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script> </div></div> </aside> <script type="text/javascript" src="https://resources.blogblog.com/blogblog/data/res/2395151956-indie_compiled.js" async="true"></script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/3878540743-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY6OcBojCUMEBHKRsohAKGrn57I4Lw:1759810195368';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d890025557193785755','//tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html','890025557193785755'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '890025557193785755', 'title': 'T C SPAIN', 'url': 'http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html', 'canonicalUrl': 'http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html', 'homepageUrl': 'http://tcspaincode11.blogspot.com/', 'searchUrl': 'http://tcspaincode11.blogspot.com/search', 'canonicalHomepageUrl': 'http://tcspaincode11.blogspot.com/', 'blogspotFaviconUrl': 'http://tcspaincode11.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en-GB', 'localeUnderscoreDelimited': 'en_gb', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22T C SPAIN - Atom\x22 href\x3d\x22http://tcspaincode11.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22T C SPAIN - RSS\x22 href\x3d\x22http://tcspaincode11.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22T C SPAIN - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/890025557193785755/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22T C SPAIN - Atom\x22 href\x3d\x22http://tcspaincode11.blogspot.com/feeds/673762043826464119/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': true, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/1291592d14e91807', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en_GB\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'item', 'postId': '673762043826464119', 'pageName': 'tdd - testing node.js with expresso - redis session store -', 'pageTitle': 'T C SPAIN: tdd - testing node.js with expresso - redis session store -'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard', 'ok': 'Ok', 'postLink': 'Post link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': true, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'tdd - testing node.js with expresso - redis session store -', 'description': ' I am trying to learn TDD with the node. I have hit this issue with expresso where the expresso command is hanging, I think due to redi...', 'url': 'http://tcspaincode11.blogspot.com/2014/06/tdd-testing-nodejs-with-expresso-redis.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 673762043826464119}}, {'name': 'widgets', 'data': [{'title': 'Search This Blog', 'type': 'BlogSearch', 'sectionId': 'search_top', 'id': 'BlogSearch1'}, {'title': 'T C SPAIN (Header)', 'type': 'Header', 'sectionId': 'header', 'id': 'Header1'}, {'title': 'Featured post', 'type': 'FeaturedPost', 'sectionId': 'page_body', 'id': 'FeaturedPost1', 'postId': '4591962656602677214'}, {'title': 'Blog Posts', 'type': 'Blog', 'sectionId': 'page_body', 'id': 'Blog1', 'posts': [{'id': '673762043826464119', 'title': 'tdd - testing node.js with expresso - redis session store -', 'showInlineAds': true}], 'headerByline': {'regionName': 'header1', 'items': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}]}, 'footerBylines': [{'regionName': 'footer1', 'items': [{'name': 'comments', 'label': ''}, {'name': 'icons', 'label': ''}]}, {'regionName': 'footer2', 'items': [{'name': 'labels', 'label': ''}]}, {'regionName': 'footer3', 'items': [{'name': 'location', 'label': ''}]}], 'allBylineItems': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}, {'name': 'comments', 'label': ''}, {'name': 'icons', 'label': ''}, {'name': 'labels', 'label': ''}, {'name': 'location', 'label': ''}]}, {'title': '', 'type': 'PopularPosts', 'sectionId': 'page_body', 'id': 'PopularPosts1', 'posts': [{'title': 'qt - switch/case statement in C++ with a QString type -', 'id': 1603018869066890515}, {'title': 'python - sqlite3.OperationalError: near \x26quot;REFERENCES\x26quot;: syntax error -\nforeign key creating -', 'id': 4400514799762877261}, {'title': 'Python\x26#39;s equivalent for Ruby\x26#39;s define_method? -', 'id': 2930444493735345452}]}, {'title': '', 'type': 'HTML', 'sectionId': 'page_body', 'id': 'HTML3'}, {'title': '', 'type': 'HTML', 'sectionId': 'page_body', 'id': 'HTML1'}, {'type': 'Attribution', 'sectionId': 'footer', 'id': 'Attribution1'}, {'title': 'About Me', 'type': 'Profile', 'sectionId': 'sidebar_top', 'id': 'Profile1'}, {'title': '', 'type': 'BlogArchive', 'sectionId': 'sidebar_bottom', 'id': 'BlogArchive1'}, {'title': '', 'type': 'ReportAbuse', 'sectionId': 'sidebar_bottom', 'id': 'ReportAbuse1'}, {'title': 'Navbar', 'type': 'Navbar', 'sectionId': 'sidebar_bottom', 'id': 'Navbar1'}]}]); _WidgetManager._RegisterWidget('_BlogSearchView', new _WidgetInfo('BlogSearch1', 'search_top', document.getElementById('BlogSearch1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FeaturedPostView', new _WidgetInfo('FeaturedPost1', 'page_body', document.getElementById('FeaturedPost1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'page_body', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/3568137000-lbx__en_gb.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'page_body', document.getElementById('PopularPosts1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'page_body', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'page_body', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer', document.getElementById('Attribution1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar_top', document.getElementById('Profile1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar_bottom', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ReportAbuseView', new _WidgetInfo('ReportAbuse1', 'sidebar_bottom', document.getElementById('ReportAbuse1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'sidebar_bottom', document.getElementById('Navbar1'), {}, 'displayModeFull')); </script> </body> </html>