title: Can someone explain "Fake it till you make it" approach in Test Driven Development?
body: <p>I have a problem to understand the evolution of code when you have taken the "Fake It Until You Make IT" TDD approach. </p>
  
  <p>Ok, you have faked it, let's say you returned a constant so that the broken test is green in the beginning. Then you re-factored your code. Then you run the same test which is going to pass obviously because you have faked it! </p>
  
  <p>But if a test is passing how can you rely on that, especially when you know that you faked that? </p>
  
  <p>How should the faked test be refactored with your real code refactoring so that it can still be reliable?</p>
  
  <p>Thanks</p>