<br><br><div class="gmail_quote">On Thu, Mar 26, 2009 at 1:22 AM, Andreas Raab <span dir="ltr">&lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
SUnit will only use inherited test selectors if the superclass is declared as abstract. I find this horribly annoying but that&#39;s the way it is. You&#39;ll have to implement something like:<br>
<br>
SuperTest class&gt;&gt;isAbstract<br>
        ^self == SuperTest &quot;NOT ^true since this makes subclasses abstract too&quot;<br>
<br>
See ToolBuilderTests and its subclasses for an example.<br>
</blockquote><div><br>It doesn&#39;t work :(  I tried it with my class and also with MVCToolBuilderTests. In both cases I get this wallback:<br><br>any ideas?<br><br>thanks for the help.<br><br>mariano<br><br><br><br>MessageNotUnderstood: DBXMainBackendTestPostgresql class&gt;&gt;allSelectorsBelow:<br>
26 March 2009 1:28:40 am<br><br>VM: unix - a SmalltalkImage<br>Image: Squeak3.10.2 [latest update: #7179]<br><br>SecurityManager state:<br>Restricted: false<br>FileAccess: true<br>SocketAccess: true<br>Working Dir /home/mariano/squeak/imagenes<br>
Trusted Dir /home/mariano/squeak/imagenes/secure<br>Untrusted Dir /home/mariano/squeak/imagenes/My Squeak<br><br>DBXMainBackendTestPostgresql class(Object)&gt;&gt;doesNotUnderstand: #allSelectorsBelow:<br>    Receiver: DBXMainBackendTestPostgresql<br>
    Arguments and temporary variables: <br>        aMessage:     allSelectorsBelow: TestCase<br>    Receiver&#39;s instance variables: <br>        superclass:     DBXMainBackendTest<br>        methodDict:     a MethodDictionary(#facilityToTest-&gt;a CompiledMethod (1970) )<br>
        format:     132<br>        instanceVariables:     nil<br>        organization:     (&#39;facility&#39; facilityToTest)<br><br>        subclasses:     nil<br>        name:     #DBXMainBackendTestPostgresql<br>        classPool:     nil<br>
        sharedPools:     nil<br>        environment:     a SystemDictionary(lots of globals)<br>        category:     #&#39;OpenDBX-Core-Tests&#39;<br>        traitComposition:     nil<br>        localSelectors:     nil<br>
<br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;withInheritedSelectors<br>    Receiver: DBXMainBackendTestPostgresql<br>    Arguments and temporary variables: <br><br>    Receiver&#39;s instance variables: <br>
        superclass:     DBXMainBackendTest<br>        methodDict:     a MethodDictionary(#facilityToTest-&gt;a CompiledMethod (1970) )<br>        format:     132<br>        instanceVariables:     nil<br>        organization:     (&#39;facility&#39; facilityToTest)<br>
<br>        subclasses:     nil<br>        name:     #DBXMainBackendTestPostgresql<br>        classPool:     nil<br>        sharedPools:     nil<br>        environment:     a SystemDictionary(lots of globals)<br>        category:     #&#39;OpenDBX-Core-Tests&#39;<br>
        traitComposition:     nil<br>        localSelectors:     nil<br><br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;testsSelect:<br>    Receiver: DBXMainBackendTestPostgresql<br>    Arguments and temporary variables: <br>
        aBlock:     [] in DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suiteWithSele...etc...<br>        selector:     nil<br>        s:     nil<br>    Receiver&#39;s instance variables: <br>        superclass:     DBXMainBackendTest<br>
        methodDict:     a MethodDictionary(#facilityToTest-&gt;a CompiledMethod (1970) )<br>        format:     132<br>        instanceVariables:     nil<br>        organization:     (&#39;facility&#39; facilityToTest)<br>
<br>        subclasses:     nil<br>        name:     #DBXMainBackendTestPostgresql<br>        classPool:     nil<br>        sharedPools:     nil<br>        environment:     a SystemDictionary(lots of globals)<br>        category:     #&#39;OpenDBX-Core-Tests&#39;<br>
        traitComposition:     nil<br>        localSelectors:     nil<br><br>[] in DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suiteWithSelectorsMatching: {[:testClass | suite   addTests: (testClass     testsSelect: [:sel | pattern ...]}<br>
    Arguments and temporary variables: <br>        pattern:     &#39;test*&#39;<br>        suite:     a TestSuite<br>        testClass:     DBXMainBackendTestPostgresql<br>        sel:     nil<br><br><br>--- The full stack ---<br>
DBXMainBackendTestPostgresql class(Object)&gt;&gt;doesNotUnderstand: #allSelectorsBelow:<br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;withInheritedSelectors<br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;testsSelect:<br>
[] in DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suiteWithSelectorsMatching: {[:testClass | suite   addTests: (testClass     testsSelect: [:sel | pattern ...]}<br> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br>
Array(SequenceableCollection)&gt;&gt;do:<br>[] in DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suiteWithSelectorsMatching: {[:suite | self theClasses   do: [:testClass | suite     addTests: (testClass...]}<br>
TestSuite(Object)&gt;&gt;in:<br>TestSuite class&gt;&gt;define:<br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suiteWithSelectorsMatching:<br>DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;allStandardTests<br>
DBXMainBackendTestPostgresql class(TestCase class)&gt;&gt;suite:<br>[] in TestSuite&gt;&gt;fromClasses:suites:select:reject: {[:suite | self addTests: (testClass suite: suite) tests]}<br>Set&gt;&gt;do:<br>[] in TestSuite&gt;&gt;fromClasses:suites:select:reject: {[:testClass |  suites   do: [:suite | self addTests: (testClass suite: suite...]}<br>
Set&gt;&gt;do:<br>TestSuite&gt;&gt;fromClasses:suites:select:reject:<br>TestSuite class&gt;&gt;classes:suites:select:reject:<br>TestRunner&gt;&gt;suiteAll<br>TestRunner&gt;&gt;runAll<br>PluggableButtonMorphPlus(PluggableButtonMorph)&gt;&gt;performAction<br>
PluggableButtonMorphPlus&gt;&gt;performAction<br>[] in PluggableButtonMorphPlus(PluggableButtonMorph)&gt;&gt;mouseUp: {[:m | (m containsPoint: evt cursorPoint)   ifTrue: [m performAction]]}<br>Array(SequenceableCollection)&gt;&gt;do:<br>
PluggableButtonMorphPlus(PluggableButtonMorph)&gt;&gt;mouseUp:<br>PluggableButtonMorphPlus&gt;&gt;mouseUp:<br>...etc...<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Cheers,<br>
  - Andreas<br>
<br>
Mariano Martinez Peck wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">
Hi everybody:<br>
<br>
I am having a problem with Sunit on Squeak. I have a class called A and has a testXXX method (method that should be executed by sunit). I have class B that inherits from A and has no test method (method that should be run by sunit). When I want to run the tests of B (from Test Runner) I notice that testXXX is not run. I mean, zero runs for class B. I think this is incorrect. Am I ok ? Should testXXX be executed in this case ?<br>

<br>
Thanks for the help.<br>
<br>
Mariano<br>
<br>
<br></div></div>
------------------------------------------------------------------------<br>
<br>
<br>
</blockquote>
<br>
<br>
</blockquote></div><br>