I have never been a fan of the "only one statement per test" dogma. It just doesn't seem practical to me - in the end, you get a lot of fluff (test ads) around what you are really interested in.
Yes, if you have several problems, you will only have one test failure. You fix the test, run it again, mark the next failure, fix it and repeat until it succeeds. No big losses.
I'm not saying that you should test a huge amount of functionality in each test, but moving to the other extreme is also not pragmatic.
Usually I would use only one error condition for the test, so if your constructors actually threw exceptions for null arguments, I would check each of them in a separate test. It is easy to accidentally miss something otherwise.
source share