RE: [General] Language-independent test representation

I think the following history is approximately correct.  The primary sites
to check are http://www.xprogramming.com and http://www.junit.org

The xUnit frameworks developed out of the Extreme Programming paradigm of Test
 First Design.  Out of one original Smalltalk testing framework 
(http://www.xprogramming.com/testfram.htm), a family of about 30 different 
implementations of conceptually similar frameworks on different languages and 
platforms (listed at http://www.xprogramming.com/software.htm)  Most if not 
all of these frameworks are open source.  The quality and completeness of the 
implementations vary and occassionally there are multiple implementations for 
one platform.

There is a list of articles at http://www.junit.org/articles.htm#fun

JUnit, JSUnit, PYunit  have independent sites, http://www.junit.org ,
http://www.jsunit.net , http://pyunit.sourceforge.net/

Maybe the quickest way to comprehend the flavor of the xUnit tests is to look
 at my recasting of the NIST tests to JUnit, JSUnit and CppUnit.  

For example, comparing the source of the same suite of tests in multiple 
languages, should show how similar the code is when most of the language
differences are hidden in the test framework implementation or the base test
case class:

Java version of text tests

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlconf/domunit/JUNIT/NET/sourceforge/XMLCONF/DOMUNIT/DOM1/NIST/text.java?rev=1.1.1.1&content-type=text/vnd.viewcvs-markup

JavaScript version:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlconf/domunit/JSUNIT/dom1_nist_text.html?rev=1.1.1.1&content-type=text/vnd.viewcvs-markup

Cpp version:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlconf/domunit/CPPUNIT/dom1/nist/text.cpp?rev=1.1.1.1&content-type=text/vnd.viewcvs-markup

From briefly looking at the PyUnit site, it does appear that the
Python would require some more intelligent processing of the 
base JUnit tests than the JavaScript or C++ port.  However, it
should still be reasonable to automate, possibly using JavaML + XSLT.
But would want to take a manual shot at converting at least one
or two test cases first to learn the ropes.

The Perl flavor of xUnit seemed incomplete (or at least underdocumented), 
but again it is not a language I'm familiar with.  If needed however,
we could always flesh out an implementation that met our needs.

Received on Tuesday, 24 April 2001 13:09:52 UTC