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.
Dear Pharo users and developers,