Andrew Bennetts <andrew-pythondev <at> puzzling.org> writes:
On the other hand, “assert*” names are positive statements of what the behaviour of the system-under-test is. And conversely, “fail*” names are a bit like implementation details of how the test is written. So I personally have a mild preference for the assert* names.
The problem with "fail*" is that you get names like "failIfNotEqual" (or perhaps even "failUnlessNotEqual") which are double negatives and therefore much more annoying to read and decipher. I always had the same problem when reading Perl's "unless" statements. They are, IMO, useless complication.
"assert*" names are, well, assertive :-)
(not to mention "assert" is a widely established name in various languages - including Python - for checking that things went as expected)