Downloads |
| Stable releases |
SUnit 3.1
The current official release of SUnit is 3.1. All versions are available from the download page here on SourceForge.
The following dialects have been officially released:
- Dolphin 5
- GNU Smalltalk 2
- ObjectStudio 6.8
- Smalltalk/X 4
- Squeak 3
- VisualAge 6
- Visual Smalltalk 3
- VisualWorks 7
Please read the release notes for more information about compatibility with earlier versions of the Smalltalk dialect in question.
The following dialects have not yet been officially released, but have a Release Candidate available:
- none
- GemStone 6
- Smalltalk MT
- Smallscript/S#
| Back Ports |
SUnit 3.1 back ports
SUnit 3.1 is targeted at the latest release of the various Smalltalk dialects. For people still using older versions, there are a number of back ports available.
- VisualWorks 3 (ENVY repository)
| Older versions |
SUnit 3.0
The last official release of SUnit is 3.0. This release, as well as other older versions, are available from the download page of the ANSI-Smalltalk-Tests project on SourceForge:
- Dolphin 3.0
- Dolphin 4.0 (ported by Bob Jarvis)
- GemStone 5.1.4 (ported by Joe Bacanskas)
- Squeak 3.0
- VisualAge 4.5 - 5.5 (reference implementation)
- Visual Smalltalk 3.1 (ported by Giorgio Ferraris)
- VisualWorks 3.0
- VisualWorks 5i
SUnit 2.7
Not all dialects or versions made it to the 3.0 release level. The last stable release was 2.7, and some older dialect versions stayed at that level. All these versions are available from the download page of the ANSI-Smalltalk-Tests project on SourceForge:
- ObjectStudio 6.2
- Smalltalk MT 2.6
- Smalltalk/X 3.6.4
- VisualWorks 2.5
Also, versions of 2.7 for other dialects are available here.
| Package structure |
SUnit delivery format
SUnit Camp Smalltalk is always available in four parts:
- SUnitPreload
- SUnit
- SUnitTests
- SUnitUI
SUnitPreload will have, for any specific dialect, whatever is needed in the way of base language additions in order to support the SUnit core. All additions are based on ANSI standard protocols, however, individual methods will have an #sunit prefix, so as to avoid namespace collisions.
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 and in the future will have the exact same code for all dialects.
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!
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.
An additional part is available for those Smalltalks that fully utilize Namespaces; SUnitNamespaceTests. This will have any Dialect Specific tests to make sure that SUnit plays nice with any local Namespace capability.