
Little point of history: the xUnit family of unit testing
frameworks originated in *Smalltalk* (SUnit), which is why
the graphic user interface for running tests was a standard
part of it. It wasn't just that you could drive tests from
a graphic terminal, it was that testing was *integrated*
with the IDE. The Wikipedia page on jUnit gets this right,
acknowledging the priority of SUnit. Credit should be
given to a specific person: Kent Beck, author of the original
version of SUnit. It would be good for the HUnit document
to give credit where credit is due.
AS for the interface, what is the problem?
It's always <HUnit function> "some string" <other arguments>.
It doesn't really matter very much whether the observed or
expected value is presented next in assertEqual, but it is
documented as expected-then-observed.
On Wed, 2 Mar 2022 at 06:57, Daneel Yaitskov
Hi List,
I noticed, that I pay more attention than I should, when working with assertions, because I am not sure about argument order i.e. whether the expected value goes first or vice-versa. Does anybody have similar thought?
Such subtle detail should be easy to grasp with regular practice, but I observe difficulties and I suspect that there is a logical reason for that.
Unit tests appeared long time ago in Java and spread over all languages. HUnit library inherited de facto standard assert function name and signature. I don't know reasoning behind original signature.
I spell "assertEqual" expression as: "Assert that x equals to y" "y" sounds like a model value (i.e. expected value).
In assignments "x <- y" y is the model value, because it defines "x". You get "x" - value on the left not on the right.
Similar issue with test fixing - I always have to check first, that an expected value is actually one. There is no type safety preventing mixing arguments. I had to open and comprehend a source file with test, because test log is not 100% safe.
--
Best regards, Daniil Iaitskov
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.