<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Chris,<div><br></div><div>yes, tests should be as modular and concise as possible -- only checking for "one thing" in each test. However, #assert: is *not* the level of granularity one should look at to judge a certain test's modularity. That is, there can be more than one #assert: in a test and still the test be regarded as testing "one thing".</div><div><br></div><div>So... I do not quite agree with your statement here ... but I think you mean the right thing:</div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px"><br></span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">> Expected failures should be put into their own #test.. method</span></div><div><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">> </span><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">and not mixed with assertions that are expected to pass. Otherwise,</span><br style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px"><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">> </span><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">the SUnit domain won't be able to properly express to you the state of</span><br style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px"><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">> </span><span style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px">those tests, as you said.</span><br style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 19.5px"></div><div><br></div><div>One should not compose tests according to pass-or-not but rather following domain/project-specific reasons.</div><div><br></div><div>Then, I know about some tests that put a guard in the beginning of a test to provide a useful "failure message" to the user before running into some other assertion failures.</div><div><br></div><div>Still not so sure about this hook, though, ... hmmm...</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 26.05.2019 22:01:02 schrieb Chris Muller <ma.chris.m@gmail.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div dir="ltr">On Sun, May 26, 2019 at 2:20 PM Jakob Reschke <<a href="mailto:forums.jakob@resfarm.de" target="_blank">forums.jakob@resfarm.de</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left: 1px solid rgb(204,204,204);padding-left: 1ex;min-width: 500px"><div dir="ltr"><div dir="ltr">Am So., 26. Mai 2019 um 20:56 Uhr schrieb Chris Muller <<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left: 1px solid rgb(204,204,204);padding-left: 1ex;min-width: 500px">Right.  Expected failures should be put into their own #test.. method<br>
and not mixed with assertions that are expected to pass.  Otherwise,<br>
the SUnit domain won't be able to properly express to you the state of<br>
those tests, as you said.<br></blockquote><div><br></div><div>Makes sense. Hope everyone is aware of that for the future use of the feature.</div></div></div></blockquote><div><br></div><div>And for present use, too, since mixing them would present the same issue today as well.  As the test developer is required to specify expectedFailures at #test..method level, they'll probably be naturally inclined to put only that group of should:'s in there.  They're generally rare, exceptional cases.</div><div><br></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left: 1px solid rgb(204,204,204);padding-left: 1ex;min-width: 500px"><div dir="ltr"><div class="gmail_quote"><div> <br></div><div>PS.</div><div><br></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left: 1px solid rgb(204,204,204);padding-left: 1ex;min-width: 500px">I came across an apparent "self<br>
contradiction" in the spec.<br></blockquote><div><br></div><div>> Whew I tried to read "self contradiction" as a Smalltalk expression at first... :-)</div></div></div></blockquote><div><br></div><div>That sounds like an interesting behavior, we should implement that on Object!   :-) </div><div><br></div></div></div>
</div></blockquote></div>