In a perfect world so it would be, however test written after the fact can be invaluable and are better than no tests at all. They come into their own every time you change a single character in your code. It never ceases to amaze me how often seemingly benign changes can have unforseen side effects. It is alway reassuring to be able to make a change, run the tests and KNOW that you have not broken anything by accident.
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>