Weekly retrospective

Jeff: Now that our CI is working again, we can hook up stuff in Jenkins to keep track of performance.  Could be cool.  We can graph timing out or run it as a test. http://calendar.perfplanet.com/2013/measure-web-performance-with-jenkins/

Rick: Static port for test runs.  We have random ports now because of lbox.  We no longer use lbox.  Can we go back to static ports?  Answer: YES! Benji: we can probe early and fail if port is already in use.

Jeff: Speed up tests dramatically by running them in mocha not phantom (requires splitting them up).  Testing strategies (Mocha, Phantom, Selenium).  Some tests do not use DOM (-> Mocha, super fast, 2x Phantom); some need DOM (->Phantom); some need browser (-> Selenium, slow).  Could speed up testing locally (but improvement would be noise in Jenkins).  Benji: would encourage us to write more, faster unit tests.  Outcome: Jeff will create card to incorporate pure-mocha testrunner.  People will then be encouraged to write new tests using it.  Refactoring old tests to use it will be engineer-driven slack tasks.

Gary: Let’s try floobits.com for pair programming.  Volunteers to try it out with me?  Yes.  Brad first, then Benji and Rick if it seems to work out.

Benji: Object literals in tests can suck.  Object factories help make one place to change.  Action: Rick will make an empty tests/factory.js to put factory code in.  We will put factories there, as needed!  We prefer to have the models be sufficient test factories, if possible. We have further discussion on what belongs in factories.  We suspect test/test_environment_view.js might be our best example of what we don’t want to do.  We talk about the fact that mocking output from external sources (delta streams, charmworld output, and so on) literally can make sense for some kinds of tests.