[ANN] SUnit 3.1 - new version, new web site

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] SUnit 3.1 - new version, new web site

Joseph Pelrine-5
Sunit 3.1, the mother of all unit testing frameworks, has just been
officially released on Sourceforge. Now available at
http://sunit.sourceforge.net, developers can find the new releases,
development versions, and links to related work.

SUnit 3.1 is currently available for almost all current Smalltalk
dialects, and as a back-port to VisualWorks 3. The three remaining ports
(Smalltalk MT, GemStone, and S#) will be out soon.

SUnit 3.1 includes a number of bug fixes, and offers three major
enhancements over previous versions:

* resumable TestFailures
* support for arbitrary description strings on assertions
* test logging

For more detailed information about the changes, please look at the News
page at http://sunit.sourceforge.net.

SUnit 3.1 was ported using the Rosetta (http://www.metaprog.com/Rosetta)
technology.The SUnit core and test modules were exported from the
reference implementation, transformed using Rosetta, file'd into the new
dialect, and then exported using each dialect's intrinsic source
delivery mechanism (packages, parcels, etc.). The exact same code base
is used for all currently available dialects except for Object Studio
:-( GNU Smalltalk has added a few tweaks to support console-level
debugging and logging, which will be rolled into the 3.2 release,
scheduled for the summer of 2003. The reference implementation will soon
be available on the Rosetta server at Dolphin Harbor
(http://www.dolphinharbor.org:8010).

To emphasize SUnit's status as the premier unit testing framework, and
as one of the flagship Camp Smalltalk projects, SUnit is now a top-level
project at Sourceforge. The project site http://sunit.sourceforge.net 
sports a new design and Camp Smalltalk logo, both designed by graphics
artist Claudia Chiecchi. The logo and the web site design template will
both be made available to all other Camp Smalltalk projects hosted at
Sourceforge.

--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Mark Roberts
Joseph, Claudia,

The new site is really informative and it looks great.

I especially like the "[ | ]" logo.

Regards,

M. Roberts
Cincom Systems, Inc.


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Joseph Pelrine-5
Hi Mark

M. Roberts wrote:

>Joseph, Claudia,
>
>The new site is really informative and it looks great.
>
Thanks from both of us. Just a little contribution to the community.

>
>
>I especially like the "[ | ]" logo.
>
Yes, we figured it was about time to retire that old 80's balloon to (as
Dave Thomas calls it) the "Smalltalk museum", and move on to something
new. Not only does "[ | ]" symbolize something special and unique about
Smalltalk, something we can all identify with, it's also a graphically
interesting form.

...and the logo looks a lot cooler on a black t-shirt than a steaming
coffee cup ever could!


--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Eric Fruttero
"Joseph Pelrine" <[hidden email]> a écrit dans le message
news: [hidden email]...
>Not only does "[ | ]" symbolize something special and unique about
> Smalltalk, something we can all identify with, it's also a graphically
> interesting form.

Ok, I know that it's not that important, but in wich Smalltalk can you
evaluate [ | ] ?
Or maybe it is... (:-

Cheers,

Eric Fruttero


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Cool Calm Serene
In reply to this post by Joseph Pelrine-5
I will repost my question:

I have a test case which has one test method named testAll. This
method creates a test suite of 4 test cases and runs them.

When I run this using the TestRunner, it returns me 1 pass (not how
many test cases within the test suite failed/passed). How can I get
this information?

Is there any other way to use a TestSuite with TestRunner?

Thanks



Joseph Pelrine <[hidden email]> wrote in message news:<[hidden email]>...

> Sunit 3.1, the mother of all unit testing frameworks, has just been
> officially released on Sourceforge. Now available at
> http://sunit.sourceforge.net, developers can find the new releases,
> development versions, and links to related work.
>
> SUnit 3.1 is currently available for almost all current Smalltalk
> dialects, and as a back-port to VisualWorks 3. The three remaining ports
> (Smalltalk MT, GemStone, and S#) will be out soon.
>
> SUnit 3.1 includes a number of bug fixes, and offers three major
> enhancements over previous versions:
>
> * resumable TestFailures
> * support for arbitrary description strings on assertions
> * test logging
>
> For more detailed information about the changes, please look at the News
> page at http://sunit.sourceforge.net.
>
> SUnit 3.1 was ported using the Rosetta (http://www.metaprog.com/Rosetta)
> technology.The SUnit core and test modules were exported from the
> reference implementation, transformed using Rosetta, file'd into the new
> dialect, and then exported using each dialect's intrinsic source
> delivery mechanism (packages, parcels, etc.). The exact same code base
> is used for all currently available dialects except for Object Studio
> :-( GNU Smalltalk has added a few tweaks to support console-level
> debugging and logging, which will be rolled into the 3.2 release,
> scheduled for the summer of 2003. The reference implementation will soon
> be available on the Rosetta server at Dolphin Harbor
> (http://www.dolphinharbor.org:8010).
>
> To emphasize SUnit's status as the premier unit testing framework, and
> as one of the flagship Camp Smalltalk projects, SUnit is now a top-level
> project at Sourceforge. The project site http://sunit.sourceforge.net 
> sports a new design and Camp Smalltalk logo, both designed by graphics
> artist Claudia Chiecchi. The logo and the web site design template will
> both be made available to all other Camp Smalltalk projects hosted at
> Sourceforge.
>
> --


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Joseph Pelrine-5
Cool Calm Serene wrote:

>I will repost my question:
>
>I have a test case which has one test method named testAll. This
>method creates a test suite of 4 test cases and runs them.
>
>When I run this using the TestRunner, it returns me 1 pass (not how
>many test cases within the test suite failed/passed). How can I get
>this information?
>
>Is there any other way to use a TestSuite with TestRunner?
>
>Thanks
>
Which dialect are you using?


>
>
>
>
>Joseph Pelrine <[hidden email]> wrote in message news:<[hidden email]>...
>
>>Sunit 3.1, the mother of all unit testing frameworks, has just been
>>officially released on Sourceforge. Now available at
>>http://sunit.sourceforge.net, developers can find the new releases,
>>development versions, and links to related work.
>>
>>SUnit 3.1 is currently available for almost all current Smalltalk
>>dialects, and as a back-port to VisualWorks 3. The three remaining ports
>>(Smalltalk MT, GemStone, and S#) will be out soon.
>>
>>SUnit 3.1 includes a number of bug fixes, and offers three major
>>enhancements over previous versions:
>>
>>* resumable TestFailures
>>* support for arbitrary description strings on assertions
>>* test logging
>>
>>For more detailed information about the changes, please look at the News
>>page at http://sunit.sourceforge.net.
>>
>>SUnit 3.1 was ported using the Rosetta (http://www.metaprog.com/Rosetta)
>>technology.The SUnit core and test modules were exported from the
>>reference implementation, transformed using Rosetta, file'd into the new
>>dialect, and then exported using each dialect's intrinsic source
>>delivery mechanism (packages, parcels, etc.). The exact same code base
>>is used for all currently available dialects except for Object Studio
>>:-( GNU Smalltalk has added a few tweaks to support console-level
>>debugging and logging, which will be rolled into the 3.2 release,
>>scheduled for the summer of 2003. The reference implementation will soon
>>be available on the Rosetta server at Dolphin Harbor
>>(http://www.dolphinharbor.org:8010).
>>
>>To emphasize SUnit's status as the premier unit testing framework, and
>>as one of the flagship Camp Smalltalk projects, SUnit is now a top-level
>>project at Sourceforge. The project site http://sunit.sourceforge.net 
>>sports a new design and Camp Smalltalk logo, both designed by graphics
>>artist Claudia Chiecchi. The logo and the web site design template will
>>both be made available to all other Camp Smalltalk projects hosted at
>>Sourceforge.
>>
>>--
>>

--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Joseph Pelrine-5
In reply to this post by Cool Calm Serene
OK, some more thoughts...

Cool Calm Serene wrote:

>I will repost my question:
>
>I have a test case which has one test method named testAll. This
>method creates a test suite of 4 test cases and runs them.
>
>When I run this using the TestRunner, it returns me 1 pass (not how
>many test cases within the test suite failed/passed). How can I get
>this information?
>
>Is there any other way to use a TestSuite with TestRunner?
>
>Thanks
>
After reading through some of your other posts, I presume you're using
VW. After looking at the downloads page on Sourceforge, I presume you're
not using SUnit 3.1. Both of these facts are actually irrelevant, though ;-)

The TestRunner is giving the correct answer, at least for the way SUnit
was designed to be used. Without seeing your code, I must presume you're
trying to us it in another way.

At the risk of restating the obvious, SUnit is quite simple to use:
- define a subclass of TestCase
- in this class, define a (unary) method that starts with "test" -
testFoo is OK, testSomethingWithAKeyword: isn't

When the TestRunner runs, it looks through all TestCase subclasses, and
grabs all the methods starting with "test". Then, it builds a TestSuite
out of these methods. You state that you have one test method named
#testAll, and that the TestRunner is telling you that 1 method passed.
This is correct. TestRunner is building a suite, and considers your
#testAll method to be the only test method around. You can be happy that
it passes.

How can you get the information about which other methods passed or
failed? Easy. Put them in a subclass of TestCase, and make sure that the
method names start with "test". That way, they'll be picked up by the
TestRunner, executed, and registered.

You don't need to build your own TestSuite. The TestRunner does that for
you. In fact, you rarely, if ever, need to build your own TestSuite.
I've personally done a lot of strange and wierd things with SUnit, but
have only constructed TestSuites for two scenarios:
- testing SUnit functionality itself. Sort of like working on the motor
while it's running. For a good example, take a look at
SUnitTest>>#testDefects. Even though, the TestRunner will only show one
passed test here.
- running bespoke test subsets in a packaged image using external
logging. There were a few times when I wanted to have only certain
specific tests run in a packaged image, and could configure the tests to
be run using either command-line parameters or an .ini file. I never
tried Travis' idea about stuffing a little telnet client in though...

I hope that this explanation helps a bit. For further instructions in
how to use SUnit, follow the links to Stephane Ducasse's tutorial and to
Kent's original paper. They can be found on the SUnit site at Sourceforge.

Cheers

--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

James A. Robertson-2
In reply to this post by Cool Calm Serene
In VW, you can use the RB.  Just select the protocol category (or
categories) that contain the tests - load the RBSUnitExtensions parcel
first.  Now see that TestRunner is part of the browser, allowing you
to run all the tests in the selected categories.  Or in the method
pane, select the tests you want to run

On 28 Mar 2003 08:34:36 -0800, [hidden email] (Cool Calm
Serene) wrote:

>I will repost my question:
>
>I have a test case which has one test method named testAll. This
>method creates a test suite of 4 test cases and runs them.
>
>When I run this using the TestRunner, it returns me 1 pass (not how
>many test cases within the test suite failed/passed). How can I get
>this information?
>
>Is there any other way to use a TestSuite with TestRunner?
>
>Thanks
>
>
>
>Joseph Pelrine <[hidden email]> wrote in message news:<[hidden email]>...
>> Sunit 3.1, the mother of all unit testing frameworks, has just been
>> officially released on Sourceforge. Now available at
>> http://sunit.sourceforge.net, developers can find the new releases,
>> development versions, and links to related work.
>>
>> SUnit 3.1 is currently available for almost all current Smalltalk
>> dialects, and as a back-port to VisualWorks 3. The three remaining ports
>> (Smalltalk MT, GemStone, and S#) will be out soon.
>>
>> SUnit 3.1 includes a number of bug fixes, and offers three major
>> enhancements over previous versions:
>>
>> * resumable TestFailures
>> * support for arbitrary description strings on assertions
>> * test logging
>>
>> For more detailed information about the changes, please look at the News
>> page at http://sunit.sourceforge.net.
>>
>> SUnit 3.1 was ported using the Rosetta (http://www.metaprog.com/Rosetta)
>> technology.The SUnit core and test modules were exported from the
>> reference implementation, transformed using Rosetta, file'd into the new
>> dialect, and then exported using each dialect's intrinsic source
>> delivery mechanism (packages, parcels, etc.). The exact same code base
>> is used for all currently available dialects except for Object Studio
>> :-( GNU Smalltalk has added a few tweaks to support console-level
>> debugging and logging, which will be rolled into the 3.2 release,
>> scheduled for the summer of 2003. The reference implementation will soon
>> be available on the Rosetta server at Dolphin Harbor
>> (http://www.dolphinharbor.org:8010).
>>
>> To emphasize SUnit's status as the premier unit testing framework, and
>> as one of the flagship Camp Smalltalk projects, SUnit is now a top-level
>> project at Sourceforge. The project site http://sunit.sourceforge.net 
>> sports a new design and Camp Smalltalk logo, both designed by graphics
>> artist Claudia Chiecchi. The logo and the web site design template will
>> both be made available to all other Camp Smalltalk projects hosted at
>> Sourceforge.
>>
>> --

<Talk Small and Carry a Big Class Library>
James Robertson, Product Manager, Cincom Smalltalk
http://www.cincomsmalltalk.com/blog/blogView


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Joseph Pelrine-5
James A. Robertson wrote:

>In VW, you can use the RB.  Just select the protocol category (or
>categories) that contain the tests - load the RBSUnitExtensions parcel
>first.  Now see that TestRunner is part of the browser, allowing you
>to run all the tests in the selected categories.  Or in the method
>pane, select the tests you want to run
>
James

Thanks for the advertising, but your answer is slightly skewed w.r.t.
the original question. The RBSunitExtensions are great - I use them when
I work in VW, and almost forgot how to bring up TestRunner. Still,
(contrary to your assertion) they adhere to the SUnit protocol, and
*only* run the test methods that correspond to my explanation in the
previous post: Methods in a TestCase subclass whose unary selector
begins with "test".

Also, we would have loved to have given you SUnit 3.1 for inclusion in
the VW 7.1 release (it got into the latest Dolphin release), but nobody
bothered to inform us of the code freeze deadline until it was too late
:-( Oh well, no problem. People can download 3.1 from Sourceforge to
update the version in their image, and we want you to know now that 3.2
*will* be out by the beginning of summer.

--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


--
--
Joseph Pelrine [ | ]
MetaProg GmbH
Email: [hidden email]
Web:   http://www.metaprog.com

"If you don't live on the edge, you're taking up too much space" -
Doug Robinson


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] SUnit 3.1 - new version, new web site

Paolo Bonzini-2
In reply to this post by Joseph Pelrine-5
> - running bespoke test subsets in a packaged image using external
> logging. There were a few times when I wanted to have only certain
> specific tests run in a packaged image, and could configure the tests to
> be run using either command-line parameters or an .ini file. I never
> tried Travis' idea about stuffing a little telnet client in though...

The old SUnitScript had surely many limitations, yet it is was
probably very underrated.  Embedding it into a simple
"listen-accept-read script-run tests" loop is easy and I think it can
be as powerful as one usually needs.

Paolo