Hi,
Sorry to reopen the thread. It is just I just joined the group! :)
I *do not* like the "one assert per test" rule. If you are using a OO language, you have an object that has many attributes. A behavior can change many of them. I want to see all the changes in a single test, making them all together. Breaking up into many tests will just increase the size of your unit test, and the feedback will be almost the same (JUnit fails in the right assert, all you have to do is to see it :)
My rule is to test one feature per test. If a method has many different branches, then I break all of them in different test methods. I've done a study in past, showing that, when you assert many different objects in the same test, it is probably because the production code is more complex than it should be. Paper [1] and slides [2], if you are interested.
[1]
http://www.aniche.com.br/wp-content/uploads/2013/04/csmr2013-asserts.pdfMaurício