First, automated test running was common practice in software engineering.
We were doing it with shell scripts at my company back in 1985.  And of
course this is precisely what “expect” was written for, and it’s why tools
like tcov/xcov exist for conventionallanguages like C.  SUnit just made it
*easy* .

Second, why would anyone *expect* a one to one correspondence between
method names and test method names?  Where is it written that a test case
tests or indeed can test only one method?  Take a trivial example like
   testThatAddAdds
      |x m|
      x := testClass withAll: #(1 2 3 5).
      m := x size.
      x add: 4.
      self assert: x size equals: m+1.
(Typed on a tablet, so pretty rough.  Sorry.)
Does this test #add: or #size?  I’ve known tests like thisto find faults in
#withAll: and in one memorable case #+ .

If you want to document a link to what you’re testing, use a pragma.
   <test: #consistency of: #add: with: #size>
and set up your UI to realize that this is a test of BOTH #add: and #size
so that it should be rerun if either of them changes.
On Sat, 23 Nov 2024 at 2:58 AM, Koen De Hondt <
k...@all-objects-all-the-time.st> wrote:

> Dear Pharo users and developers,
>
> I wrote a blog post in which I evaluate SUnit
> <https://all-objects-all-the-time.st/#/blog/posts/10>.
>
> Enjoy reading it!
>
> Ciao,
> Koen
>
>

Reply via email to