[Pharo-users] The confusing state of SUnit

Gabriel Cotelli g.cotelli at gmail.com
Tue Feb 26 19:30:24 EST 2019


We have some extensions in Buoy just for that.
https://github.com/ba-st/Buoy/blob/release-candidate/docs/SUnit.md

On Tue, Feb 26, 2019, 21:15 Tim Mackinnon <tim at testit.works> wrote:

> Forgive me father, for I have sinned… but when I try to right good tests,
> that fail in a way I can understand them it seems that SUnit doesn’t want
> to help me…
>
> Maybe I am missing something, but in 2019 it should be easy to write tests
> - particularly when we want people to contribute to adding more?
>
> So when I want to right a test to assure that I’ve thrown an exception
> with the right message, why is it so hard (in the core image)? Am I missing
> something obvious?
>
> My example model is supposed to throw a DomainException with a message
> indicating that the strings :are of different lengths” - I search Sunit and
> hit:
>
>
> #should: raise: whoseDescriptionDoesNotInclude: description:
>
> Awesome, so it fails - but does it make it easy to know what damn string I
> got….. nooooo that would be too easy? Its almost impossible to easily see
> what happened the way it works.
>
> Instead I have to write:
>
> self
>                 should: [ hammingCalculator distanceStrand1: 'AATG'
> strand2: 'AAA' ]
>                 raise: DomainError
>                 withExceptionDo: [ :ex |
>                         self assert: ex messageText equals: 'left and
> right strands must be of equal length' ].
>
>
> And god forbid if I want to just ensure that the beginning of my error
> message is correct?
>
> Why do we make this so hard? I know we don’t want to pollute the image,
> but testing is important, it should be easy for obvious cases and it should
> be more built in and less obscure. Is there something built in that makes
> this easier? Do I really have to load in more libraries for the easy cases?
>
> Tim
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20190226/ba41bc7e/attachment.html>


More information about the Pharo-users mailing list