CSC/ECE 517 Fall 2009/wiki1b 12 testFrmwk: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
=Testing frameworks for object-oriented languages= | =Testing frameworks for object-oriented languages= | ||
==Groovy== | |||
Groovy is a dynamic language built to run on Java Virtual machine. This language has additional features that are inspired by languages like python, Ruby and smalltalk. Groovy simplifies testing by providing unit test (using JUnit) and mock frameworks as part of the built in features. | |||
[http://code.google.com/p/testngroove Test'N'Groove] - 'Test and Groove' framework is the integration of Groovy and TestNG frameworks. | |||
[Groovy Mocks http://groovy.codehaus.org/Groovy+Mocks] - This framework is built in with Groovy and provides excellent support for mocking alternatives while testing Groovy code | |||
[http://gmock.org Gmock] - This is a mocking framework for Groovy. Simple syntax of this framework makes it popular as it makes the tests more readable and concise | |||
[easyb http://www.easyb.org] - This is a behavior driven development framework that can be used to test Groovy | |||
[http://code.google.com/p/spock spock] - Spock is a testing and specification framework for Groovy applications also. This is popular as it has highly expressive specification language and it combines the best features of other tools like JUnit, jMock, and RSPec | |||
==LISP== | |||
[http://www.ancar.org/CLUnit/docs/CLUnit.html CLUnit] is a unit test tool for defining and running unit tests for common LISP language | |||
[http://common-lisp.net/project/lift LIFT] is another framework for testing LISP based applications. LIFT supports interactive testing and is inspired by SUnit and JUnit. | |||
[http://www.cs.northwestern.edu/academics/courses/325/readings/lisp-unit.html LISPUnit] is a popular framework designed for beginners of LISP programming and has common LISP library that supports unit testing | |||
[http://common-lisp.net/project/bese/FiveAM.html FiveAM] is a unit testing framework similar to LISP and does hierarchical, composable test suites | |||
[http://common-lisp.net/project/stefil Stefil] features a more interactive approach to testing as it provides report on test failures and the conditions that caused the failure | |||
==Objective C== | |||
[http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html Objective C] is designed to provide C language , the full object oriented programming capabilities based on Smalltalk style messaging. | |||
[http://sente.epfl.ch/software/ocunit OCUnit] is a XUnit style testing framework for testing Objective C language based applications. | |||
[ObjcUnit http://oops.se/objcunit] is another testing framework based on JUnit, adapted for Objective C | |||
[http://wincent.com/a/products/wotest WOTest] is an unit testing framework for Objective C which integrates fully with XCode | |||
==PHP== | |||
[http://phpunit.sourceforge.net PHPUnit] is a unit testing framework for PHP programming language based on JUnit framework | |||
[http://www.simpletest.org SimpleTest] is an unit testing framework for PHP programming language and it supports mock objects which is used to regress the web-applications. This framework is based on JUnit/PHPUnit | |||
[http://code.google.com/p/snaptest SnapTest] is a unit testing framework compliant with JUnit type of test harness and also provides test output that is complaint with TAP | |||
==PERL== | |||
Perl is a high-level, general-purpose, interpreted, dynamic programming language well known for its text processing capabilities. Perl is inspired by AWK, Smalltalk, LISP, C, C++, Unix Shell etc. | |||
[http://search.cpan.org/perldoc/TAP TAP] - TAP stands for Test Anything Protocol. This is used to allow communication between unit tests and any automated testing framework | |||
[http://search.cpan.org/perldoc/Test::Harness Test::Harness] - This is a standard test runner for PERL which leverages TAP parser for running various tests | |||
[http://search.cpan.org/perldoc/Test::More Test::More] - Another testing framework that is famous for the testing utilities | |||
[http://search.cpan.org/perldoc/Test::Class Test::Class] - This framework provides a simple way to create classes and objects for testing in the xUnit/JUnit Style | |||
[http://search.cpan.org/perldoc/Test::Builder Test::Builder] - A module for making more testing modules | |||
[http://search.cpan.org/perldoc/Test::Unit Test::Unit] (a.k.a. [http://perlunit.sourceforge.net/ PerlUnit]) - This framework supports unit testing in an object oriented development paradigm. This is derived from JUnit | |||
[http://search.cpan.org/perldoc/Test::DBUnit Test::DBUnit] - Another xUnit based testing framework for testing database modules | |||
[http://search.cpan.org/perldoc/Test::Able Test::Able] - This is an xUnit style testing framework inspired by Test::Class with | |||
[http://search.cpan.org/perldoc/Moose Moose] . This framework was created to overcome the limitations of Test::Class and leverage the functions of Moose. | |||
[http://www.c2.com/cgi/wiki?LectroTest LectroTest] - This is an automatic, specification-based testing tool for Perl. It is modeled after the QuickCheck module for the Haskell programming language. | |||
[http://www.c2.com/cgi/wiki?PerlActor PerlActor] - This is a simple automated executable acceptance test framework for Perl | |||
http://langworth.com/pub/perl_test_refcard.pdf - List of testing modules for PERL | |||
==Scala== | |||
Scala stands for "Scalable Language". Scala is a programming language that is designed to integrate the features of Object-orient programming and functional programming. Scala runs on JVM and is compatible with existing java programs. | |||
[http://www.artima.com/scalatest/ ScalaTest] - is a traditional xUnit style testing framework | |||
[http://code.google.com/p/scalacheck/ ScalaCheck], a library similar to Haskell's [[QuickCheck]]. A powerful tool for automatic unit testing of Scala and Java programs. | |||
[http://code.google.com/p/specs/ Specs], a [[Behavior driven development]] library for Scala | |||
[http://rehersal.sourceforge.net/ Rehersal], another unit testing framework for Scala intended as an easier-to-use replacement for SUnit in the standard library | |||
[http://code.google.com/p/scunit/ ScUnit], a unit testing framework based on several Java testing and mocking frameworks like JUnit, TestNG,JBehave, EasyMock | |||
[[JUnit]] can also be used readily with Scala code | |||
The built-in Scala library '''SUnit''' is deprecated and will be removed in version 2.8.0, see [http://www.scala-lang.org/docu/files/api/scala/testing/SUnit$object.html SUnit] documentation. | |||
==Smalltalk== | |||
Smalltalk is an object oriented, dynamically typed language and is often considered as a pioneer for many other object oriented languages like Java, Python, Ruby etc. | |||
[http://en.wikipedia.org/wiki/SUnit SUnit] - Unit Testing framework for Smalltalk. It is the original source of the xUnit design. | |||
==External References== | |||
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks | |||
http://www.c2.com/cgi/wiki?TestingFramework | |||
http://groovy.codehaus.org/ | |||
http://www.xprogramming.com/testfram.htm | |||
http://en.wikipedia.org/wiki/Objective-C | |||
http://www.scala-lang.org/ | |||
http://scala.sygneca.com/ | |||
http://rehersal.sourceforge.net/ |
Revision as of 02:42, 21 September 2009
Testing frameworks for object-oriented languages
Groovy
Groovy is a dynamic language built to run on Java Virtual machine. This language has additional features that are inspired by languages like python, Ruby and smalltalk. Groovy simplifies testing by providing unit test (using JUnit) and mock frameworks as part of the built in features.
Test'N'Groove - 'Test and Groove' framework is the integration of Groovy and TestNG frameworks.
[Groovy Mocks http://groovy.codehaus.org/Groovy+Mocks] - This framework is built in with Groovy and provides excellent support for mocking alternatives while testing Groovy code
Gmock - This is a mocking framework for Groovy. Simple syntax of this framework makes it popular as it makes the tests more readable and concise
[easyb http://www.easyb.org] - This is a behavior driven development framework that can be used to test Groovy
spock - Spock is a testing and specification framework for Groovy applications also. This is popular as it has highly expressive specification language and it combines the best features of other tools like JUnit, jMock, and RSPec
LISP
CLUnit is a unit test tool for defining and running unit tests for common LISP language
LIFT is another framework for testing LISP based applications. LIFT supports interactive testing and is inspired by SUnit and JUnit.
LISPUnit is a popular framework designed for beginners of LISP programming and has common LISP library that supports unit testing
FiveAM is a unit testing framework similar to LISP and does hierarchical, composable test suites
Stefil features a more interactive approach to testing as it provides report on test failures and the conditions that caused the failure
Objective C
Objective C is designed to provide C language , the full object oriented programming capabilities based on Smalltalk style messaging.
OCUnit is a XUnit style testing framework for testing Objective C language based applications.
[ObjcUnit http://oops.se/objcunit] is another testing framework based on JUnit, adapted for Objective C
WOTest is an unit testing framework for Objective C which integrates fully with XCode
PHP
PHPUnit is a unit testing framework for PHP programming language based on JUnit framework
SimpleTest is an unit testing framework for PHP programming language and it supports mock objects which is used to regress the web-applications. This framework is based on JUnit/PHPUnit
SnapTest is a unit testing framework compliant with JUnit type of test harness and also provides test output that is complaint with TAP
PERL
Perl is a high-level, general-purpose, interpreted, dynamic programming language well known for its text processing capabilities. Perl is inspired by AWK, Smalltalk, LISP, C, C++, Unix Shell etc.
TAP - TAP stands for Test Anything Protocol. This is used to allow communication between unit tests and any automated testing framework
Test::Harness - This is a standard test runner for PERL which leverages TAP parser for running various tests
Test::More - Another testing framework that is famous for the testing utilities
Test::Class - This framework provides a simple way to create classes and objects for testing in the xUnit/JUnit Style
Test::Builder - A module for making more testing modules
Test::Unit (a.k.a. PerlUnit) - This framework supports unit testing in an object oriented development paradigm. This is derived from JUnit
Test::DBUnit - Another xUnit based testing framework for testing database modules
Test::Able - This is an xUnit style testing framework inspired by Test::Class with
Moose . This framework was created to overcome the limitations of Test::Class and leverage the functions of Moose.
LectroTest - This is an automatic, specification-based testing tool for Perl. It is modeled after the QuickCheck module for the Haskell programming language.
PerlActor - This is a simple automated executable acceptance test framework for Perl
http://langworth.com/pub/perl_test_refcard.pdf - List of testing modules for PERL
Scala
Scala stands for "Scalable Language". Scala is a programming language that is designed to integrate the features of Object-orient programming and functional programming. Scala runs on JVM and is compatible with existing java programs.
ScalaTest - is a traditional xUnit style testing framework
ScalaCheck, a library similar to Haskell's QuickCheck. A powerful tool for automatic unit testing of Scala and Java programs.
Specs, a Behavior driven development library for Scala
Rehersal, another unit testing framework for Scala intended as an easier-to-use replacement for SUnit in the standard library
ScUnit, a unit testing framework based on several Java testing and mocking frameworks like JUnit, TestNG,JBehave, EasyMock
JUnit can also be used readily with Scala code
The built-in Scala library SUnit is deprecated and will be removed in version 2.8.0, see SUnit documentation.
Smalltalk
Smalltalk is an object oriented, dynamically typed language and is often considered as a pioneer for many other object oriented languages like Java, Python, Ruby etc.
SUnit - Unit Testing framework for Smalltalk. It is the original source of the xUnit design.
External References
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
http://www.c2.com/cgi/wiki?TestingFramework
http://www.xprogramming.com/testfram.htm