I'm leaning towards removing the constructors. They might hurt.
Reason being : backwards compatibility.
Currenty there's no way to define an ExpectedException through the
constructor.
Also the DoBefore action is not supported through constructor
initialization.
If I can remember why it might be usefull, and I distinctly remember
thinking this once, the reason for it currently escapes me though, I
might add a DoAfter action. Again it will either be unsupported
through constructor initialization, or we would have to add another
constructor. Keeping things logical, i.e like we now define the pre-
condition before the invariant, and the postcondition after the
invariant, would mean reordering of the constructor's parameters. This
would break existing implementations. Or we would have to add a
parameter to the constructor as we develop it. Leading to bad
expression of intent.
I say we throw it out while we still can, even if in some cases it is
slightly more verbose.