[Seaside] sspec questions

cnantais cnantais at gmail.com
Tue Jan 8 08:43:17 UTC 2008


I've been using John's port for a little while now and it is working fine.  I
just committed a change that adds #before and #after (like in RSpec) for
setup and teardown routines.

The next thing I'd like to see is being able to call #shouldReceive: on
objects and classes rather than just on mocks, as this fundamental
functionality already exists in RSpec.  I am trying to add it right now, but
my brain just spins at this hour.  Any volunteers?

Chad


John Thornborrow wrote:
> 
> Hello,
> 
> I recently made a fresh port of SSpec from VW and added some refinements
> to the mock object behaviour. This is available on Squeaksource.com [1],
> however, you must not load the other packages, only the "SSpec" package,
> otherwise it may not work.
> 
> To create your own SpecContext:
> 
> Subclass SpecContext
> Create method category "specs"
> 
> 
> Only methods in the category named "specs" will be run as part of the
> spec, so you can use helper methods in other categories which will not
> run.
> 
> A few examples of specs:
> 
> shouldBeEqual
> 	1 should equal: 1
> 
> shouldContainElement
> 	#(1 2 3 4 5) should include: 3
> 
> shouldRaiseError
> 	[ #() first ] should raise: Error
> 
> shouldNotRaiseError
> 	[ #(1) first ] should not raise: Error
> 
> shouldDoSomethingWithMock
> 	| mock |
> 	mock := self mock: 'A mock name'.
> 	(mock shouldReceive: #foo)
> 		twice
> 		andReturnConsecutively: #('foo' 'bar').
> 	SomeClass new on: mock; doSomething
> 
> 
> 
> Finally, to run the spec using the text runner:
> TextSpecRunner verbose run: SampleContext. Transcript endEntry
> 
> I've also, literally just this second, added a Morphic spec runner to
> the repository. (SSpec-jmt.11) It's quite primitive, but I find it very
> handy. :)
> 
> [1] http://www.squeaksource.com/SSpec
> 
> I hope this helps,
> John
> 
> www.pinesoft.co.uk
> 
> itsme213 wrote:
>> Ah, I was looking for very similar RSpec-like facilities, but think some
>> of 
>> them are not really needed (or are just not there). Would the following
>> be 
>> correct for a simplified first-start at using SSpec (<..?..> is not clear
>> to 
>> me, yet):
>> 
>> - define any (indirect) subclass of TestCase
>> - define a testXYZ method (or write class-side #suite methods)
>> - use sSpec protocols #should, Mock, #shouldReceive, etc.
>> - run as usual in TestRunner
>> - run in Refactoring or other Browser by <..?..>
>> 
>> Alternately:
>> - subclass SpecContext
>> - <..?..>
>> 
>> Corrections welcome.
>> 
>> 
>> "itsme213" <itsme213 at hotmail.com> wrote in message 
>> news:ffu9hb$us8$1 at ger.gmane.org...
>>> Keith,
>>>
>>> I'm poking around with SSpec and can't figure out how to get started
>>> with 
>>> writing my first spec in Squeak. Basic stuff like
>>> - to make a dest case subclass XYZTestCase ...,
>>> - test a method category by ...
>>> - run your  tests with a TextRunner by ... or in the Refactoring Browser 
>>> by ...
>>>
>>> I have the current SSPec loaded (from Monticello), have SUnit-Improved 
>>> etc. Astel's pdfs have not helped much. Any pointers?
>>>
>>> I have done some simple SUnit-based testing before.
>>>
>>> Thanks.
>>>
>>> "Keith Hodges" <keith_hodges at yahoo.co.uk> wrote in message 
>>> news:471EAD4E.1010006 at yahoo.co.uk...
>>>>> As far as graphical runners is concerned.... I spent a lot of time
>>>>> changing SUnit so that it might be compatible with SSpec, so that you
>>>>> can specify tests/specs based upon method category as sspec does.
>>>>>
>>>>>
>>>> I should mention that these changes are part of the SUnit-improved
>>>> package available from in the "development" package universe.
>>>>
>>>> Keith 
>> 
>> 
>> 
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>> 
> 
> 
> Pinesoft Computers are registered in England, Registered number: 2914825.
> Registered office: 266-268 High Street, Waltham Cross, Herts, EN8 7EA
> 
> 
> 
> This message has been scanned for viruses by BlackSpider MailControl -
> www.blackspider.com
> 
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> 

-- 
View this message in context: http://www.nabble.com/sspec-questions-tp13377818p14684987.html
Sent from the Squeak - Seaside mailing list archive at Nabble.com.



More information about the seaside mailing list