Testing, Testing, 1 2 3
Week Seven at Enspiral Dev Academy
I currently struggle to comprehend time, the concept of it I mean. A notion that used to be so black and white, so linear, so objective and now, well… Now time is fuzzy. The best way to illustrate it’s fuzziness is to state that this is my third time writing this opening paragraph. My first and second attempts looked like this:
I struggle to comprehend how quickly time seems to be going. Already I’m seven weeks through our nine week course. Cliches aside, it felt like only yesterday I was answering the famous four questions surrounded by equally anxious strangers. But this wasn’t yesterday. This was forty-seven yesterdays ago…
I struggle to comprehend how much time there is in the days at EDA. It’s only been seven weeks but it feels as though we are suspended in some inception like state that has really been a passage of a year. Yesterday feels a week ago and my first day at EDA feels as distant as Jetstars last on-time flight….
You can see my predicament.
In the First Phase, there was Ruby. In the Second Phase there was Sinatra, and in the Third Phase Samson said,
“Let their be Rails!”
A tad dramatic I suppose , but I wanted to make an entrance. Yes this week, in week seven (coincidence?) we finally sunk our teeth into our first ever Rails app. We’ve been building up to this moment for a very long time and, unlike some other firsts this did not disappoint.
It’s been noted several times in stand-ups this week that we really are transitioning into devs and I can’t help but say that I agree. There was an air of confidence around 15 Walter Street as people were taking control of their learning and as a side effect building really cool stuff. Nick has been working on recoding and refactoring his site nzskatesearch.com. Richard and Genevieve have began the breakout revolution with Learnio and Taylor mastered React.
So, having the opportunity to explore anything in that exciting world of tech what did I spend my time doing? What else but… testing!
Relish the Moment
I came into this week quite intimidated by testing. I can understand the importance of them in my future as a developer but the issue I had is that I get a little obsessive over certain things. For example, I’m one of those people who fold up plastic bags into little triangles instead of just jamming them all into a drawer -yeah, it’s a thing. I shy away from saying I have perfectionist tendencies because I really don’t think that’s the case. But when I first encountered testing I felt that same “plastic bag” feeling. I wanted to test my code from every single angle. It was an all or nothing urge that came over me. It needed to be impenetrable and unable to be derailed. Because I felt this way in or to satiate my urge it took a really long time. Not ideal at a nine week bootcamp, so I’d kind of gone more towards the nothing end of the spectrum.
Everything changed this week as I dove deeply into Rspec and Relish with Andrew for a large portion of the week. We wrote code for our own apps, wrote code for existing apps, wrote code and refactored existing apps, and pretty much tested anything we could get our hands on in the rails world. I realised that it is OK to feel the “plastic bag” urge that I was feeling and that it is actually a good thing, the higher the test coverage the better. I also learnt that Rspec is just another language to learn, and once I grasp a few more of it’s nuances then my proficiency will improve just like it did with Ruby (thank goodness).
Andrew and I also noted something else. Rspec Rails controller testing was actually pretty repetitive. Stripped back at the CRUD level we found ourselves writting almost identical code most of the time. Being the ever-increasing lazy developer that we are we decided to write a template so that we wouldn’t have write this boilerplate code all the time. It turned out to be a really useful learning tool as we composed it for our past selves, explaining what we had learnt in our days of testing. It’s still a work in progress but check it out here and please feel free to comment/contribute.
Next week we head into the final stretch where we turn our attention toward final projects. In the spirit of things I’ve forced my flatmates to partake in an idea formulating session with the incentive of free chocolate. I would love the opportunity to work on an idea that I have pitched but most importantly I want to work on something that excites me. Some fantastic ideas have been floating around 15 Walter Street but it will be interesting to see what is thrown on to the floor when pitches starts in a few days time…