title: Should unit tests be written before the code is written?
body: <p>I know that one of the defining principles of Test driven development is that you write your Unit tests first and then write code to pass those unit tests, but is it necessary to do it this way?</p>
  
  <p>I've found that I often don't know what I am testing until I've written it, mainly because the past couple of projects I've worked on have more evolved from a proof of concept rather than been designed.</p>
  
  <p>I've tried to write my unit tests before and it can be useful, but it doesn't seem natural to me.</p>