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


Reply via email to