[Pharo-users] Failling Tests are green if BlockCannotReturn exception

Sven Van Caekenberghe sven at stfx.eu
Tue Jan 12 01:35:04 EST 2016

> On 12 Jan 2016, at 00:26, abdelghani ALIDRA <alidrandco at yahoo.fr> wrote:
> Hi,
> I observed this unexpected behavior in test classes.
> In a test class define a method :
> testBlock
>     |aBlock|
>     aBlock := [ ^1 ].
>     aBlock value.
>     self assert: false.
> Althought the assertion is false at the end of the test, the test is green.
> Actually, It does not matter what you put after aBlock value, the test always succedes (I tried to put a self halt, it does not execute)

The test is 'does an explicit return from a block return from the whole method'. Of course it does. But if it would not, you would arrive at the self assert: false and the test would fail. You see ?

BTW, this can also be written as self fail - search for the senders of that message for more examples.

> I tried this both in Pharo 4 and 5 under Windows and MacOS.
> Any ideas?
> Cheers 
> Abdelghani

More information about the Pharo-users mailing list