Question

I have been suggested to use should:rise in my test case to test for errors that a method might raise. For some reason it does not work as expected, so I want to verify that I'm doing it right. Here is the code in the test case:

self should: [aMyClass compareTo: 'This is a string'] raise: 'invalid input'.

My compareTo/1 method looks like this:

(aMyClass isKindOf: MyClass) ifFalse: [self error: 'invalid input'.].

The test runner output is that there is "1 errors".

Thank you.

Was it helpful?

Solution

#should:raise: expects an Exception class as its second argument, similar to the first argument of #on:do: in exception handling:

 self should: [ aMyClass compareTo: 'This is a string' ] raise: Error
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top