Hi abdel

I created a class with x and two accessors and I created the same test
than you. They were green.
Then I removed the instance variable x
and I run the tests and they were greeeeeeeeennnnnnnnnnn (agrhhhhhhhh)

I checked the accessors and the methods where showing that the
instance variable is missing.

So to me this is indeed a bug. I have no idea why the test should run.

Stef

On Sun, Nov 26, 2017 at 9:08 PM, abdelghani ALIDRA via Pharo-users
<pharo-users@lists.pharo.org> wrote:
>
>
> ---------- Forwarded message ----------
> From: abdelghani ALIDRA <alidran...@yahoo.fr>
> To: "pharo-users@lists.pharo.org" <pharo-users@lists.pharo.org>
> Cc:
> Bcc:
> Date: Sun, 26 Nov 2017 20:08:29 +0000 (UTC)
> Subject: Removing instance variables doesn't recompile the methods
>
> Hi,
>
> In a fresh pharo 6 image, I add a class with an instance variable x and 
> implement accessors.
> Then I write a test method for the accessors of x
> MyClassTest>>testReadWriteX
>     self assert (MyClass new x: 0) x equals: 0
>
> I run the test and obviously it is green
>
> BUT
>
> I remove the instance variable x. Obviously, the accessors are broken and the 
> test should be red when I execute it again but it is not!!!
>
> I can even change the class again (to recompile it I thought) or even load 
> the code in a new image and the tests are still green.
> I can also invoque the broken methods in a playground or in an inspector : 
> MyClass new x: 0; increment; x then printIt. and astonishingly 1 is printed.
> The only way to detect the error is to recompile the method but this does not 
> happen (maybe it should) when instance variables are modified or removed in 
> the class (even when you use the refactoring tool!)
>
> I think this is annoying because one can no more really trust his tests.
>
> Cheers
> Abdelghani
>
>
>

Reply via email to