I realize new smalltalk mock objects framework named BehaviorMockup with SSpec functionality. There is Squeak (http://www.squeaksource.com/BehaviorMockup.html) and VW versions (cincom public repository)
Simplest language for behavior specfications:
[:mock | mock someMessage] should strictly satisfy: [:mock | mock someMessage willReturn: 'some']
or
[:mock | mock someMessage] should lenient satisfy: [:mock | mock someMessage willReturn: 'some']
SSpec functionality:
- 5 should equals: 6 - and ...
For more detailes see Wiki on SqueakSource and many acceptance tests in package
Best regards, Denis
Hello Denis,
I dipped into your BehaviorMockup package and it seems really powerful. I like the block notation so that the expected behavior is stated after the exercised code. This way the tests can be more uniform (Four-Phase Test) and clearer.
One thing I didn't found out is how to have the mocks ignore certain message calls. E.g. I want this to pass: [:mock | mock m1; m2] should lenient satisfy: [:mock | mock m1]
I tried it the 'lenient way' as above but I get a SpecFailed: WrongMessageSelector. How can one do this?
Best regards, Robert
Am 20.08.2007 um 11:32 schrieb Denis Kudriashov:
I realize new smalltalk mock objects framework named BehaviorMockup with SSpec functionality. There is Squeak (http://www.squeaksource.com/BehaviorMockup.html) and VW versions (cincom public repository)
Simplest language for behavior specfications: [:mock | mock someMessage] should strictly satisfy: [:mock | mock someMessage willReturn: 'some']
or
[:mock | mock someMessage] should lenient satisfy: [:mock | mock someMessage willReturn: 'some']
SSpec functionality:
5 should equals: 6 and ... For more detailes see Wiki on SqueakSource and many acceptance tests in package
Best regards, Denis
squeak-dev@lists.squeakfoundation.org