Edit Rename Upload Download Back to Top

SUnit Camp SMalltalk

SUnit Opens A New, Public Home!

The first 8 ports of the 3.1 version of SUnit are done! The newest versions are always available on the new SUnit site SUnit.sourceforge.net on SourceForge.

Once all the ports are done, we're gonna clean up a bit here too. In the mean time, I'm not changing any of the old stuff down below. You can find the latest news over on Sourceforge. Joseph Pelrine


Documentation, Tutorial ... : SUnit Explained by Stephane Ducasse


Updates, Add-Ons and general More Cool SUnit code has been arriving at my door at a wonderful rate!
Keep 'em coming!
Please note, I don't see any need to manage any code that falls outside of the SUnit or SUnitTests "Packages."

So, If you have a Add-On or SUnit Extension you've made, why, just upload it to the wiki, and tell us all about it on the new "SUnit Cool Tools And Add-Ons" page!


SUnit Camp Smalltalk is always available in four parts: SUnitPreload will have, for any specific dialect, whatever is needed in the way of base language additions in order to support the SUnit core. We have created special #sunit prefixed accessors for the methods, thus all dialects will have a substantial Preload unit. Also, because of Namespaces, we have created a new class SUnitNameResolver, to help mitigate the issues of differences between dialects that have namespaces and those that do not, and also those which do have a Smalltalk global, and those that do not. Finally, historically, the SUnitTest class used the Delay class in one of its tests. Unfortunately, this just isn't portable, so we have created a SUnitDelay class (Which subclasses Delay if a dialect has such a class).

(With the 3.0 release for GemStone/S, I have deviated from this standard. Each set of additions to a base class is in a separate filein, rather than bundled into SUnitPreload. This was done because, unlike the other, single user Smalltalks, GemStone/S has different levels of security and write permissions. In GemStone/S, only superusers can update base classes. It seemed to me better to see exactly who and what changes base code in a multi-user environment. Joseph Bacanskas)

SUnit has the core of the system, and tiny guts they are! Just the four main Classes: TestCase, TestSuite, TestResult and TestResource. This has been made as portable as possible, however, there is now one methods that is dialect specific: TestResult>>exError.

SUnitTests has the ExampleSetTest, and the tests for SUnit itself. These, since they sit on top of SUnit, are even more portable than SUnit itself (Except for the one reference to SUnitDelay)!

SUnitUI has the nastiest of the nasties. It has TestRunner. The "Base" UI is made to act the same on all dialects. This code is just plain not portable between dialects. However, care has been taken to make the 2.7 UIs look and work as much like each other as possible. (It won't be available for GNU Smalltalk. It will also absent from GemStone/S, for obvious reasons.)


Here is what is available, by version:


SUnit 3.0


SUnit 2.8 & 2.9
SUnit 2.7
File Naming Convention: Where {NN} the release number - 2.6 (represented as "26")
Where {DD} is the Dialect (VA, VW, DO, SX, SQ, MT, OS, VS, GE, GN)
Where {VV} is an optional Dialect Version (none = all known versions)
Where {MODULE} is the optional module part (missing on such things as DAT and APP files which contain all modules)
Where {EXT} represents the kind of format it is in.

Again, The newest versions are always available via the SUnit page on SourceForge. The 2.6 versions will always be available here via the DOWNLOAD page


Edit Rename Upload Download Back to Top