I always prefer explicit tests. Yes, they are more tedious to write, but much easier to understand when they start to fail.
Also, if trying to keep tests as DRY as production code then at one point they might get so complex that they need their own tests.


















