Ayende @ Rahien

Refunds available at head office

On failing tests

I made a change (deep in the guts of RavenDB), and then I run the tests, and I go this:

image

I love* it when this happens, because it means that there is one root cause that I need to fix, really obvious and in the main code path.

I hate it when there is just one failing test, because it means that this is an edge condition or something freaky like that.

* obviously I would love it more if there were no failing tests.

Comments

Frank Quednau
02/07/2013 10:42 AM by
Frank Quednau

I don't know, when you do a change, and nothing breaks, there is some part of me that thinks that maybe the tests have an issue...

Ayende Rahien
02/07/2013 12:00 PM by
Ayende Rahien

Frank, That is pretty horrible from my point of view. If I make a change and something break, it means that it is very hard to make changes.

Frank Quednau
02/07/2013 12:30 PM by
Frank Quednau

By break we both mean failing test, right? I was thinking more of making a logical blunder in e.g. a refactoring session. If your tests are meant to ensure that your system does what you expect it to do, then a failing test should say that after that change it does not behave in the same way. Hence, either your expectation shifted or you made a mistake.

Ayende Rahien
02/07/2013 12:32 PM by
Ayende Rahien

Frank, But I am changing things all the time. As long as the behavior is functionally the same, I don't care.

Jiggaboo
02/07/2013 06:41 PM by
Jiggaboo

Now imagine you didn't have tests. I can't believe some people write software without tests.

Ayende Rahien
02/07/2013 07:26 PM by
Ayende Rahien

Jiggaboo, What is the association for that?

Comments have been closed on this topic.