[16 total ]
In the last decade, PHP has developed from a niche language for adding dynamic functionality to small websites to a powerful tool making strong inroads into large-scale Web systems. Critical business logic like this needs to work correctly. But how
... [More]
do you ensure that it does? You test it, of course.
To make code testing viable, good tool support is needed. This is where PHPUnit comes into play. [Less]
RSpec is a BDD tool and a framework which provides programmers with a Domain Specific Language to describe the behaviour of Ruby code with readable, executable examples that guide you in the design process and serve well as both documentation and tests.
EasyMock provides Mock Objects for interfaces in JUnit tests by generating them on the fly using Java's proxy mechanism. Due to EasyMock's unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development.
jMock is a library that supports test-driven development of Java code with mock objects.
Mock objects help you design and test the interactions between the objects in your programs.
The jMock library:
* makes it quick and easy to define
... [More]
mock objects, so you don't break the rhythm of programming.
* lets you precisely specify the interactions between your objects, reducing the brittleness of your tests.
* works well with the autocompletion and refactoring features of your IDE
* plugs into your favourite test framework
* is easy to extend. [Less]
jMock is a library that supports test-driven development of Java code with mock objects.
Mock objects help you design and test the interactions between the objects in your programs.
The jMock library:
* makes it quick and easy to define
... [More]
mock objects, so you don't break the rhythm of programming.
* lets you precisely specify the interactions between your objects, reducing the brittleness of your tests.
* is easy to extend. [Less]
FEST is a collection of libraries that aims at simplifying creation and maintenance of automated tests.
Its main module, the Swing module, provides the following benefits:
* Simulation of user-generated events and reliable GUI component
... [More]
lookup
* Easy-to-use and powerful API that simplifies creation and maintenance of Swing GUI functional tests
* Supports both JUnit and TestNG
* Ability to take screenshots of failed GUI tests and embed them in a HTML report (JUnit and TestNG)
* Experimental Groovy Builder support for creating GUI tests [Less]
PHPSpec is a Behaviour-Driven Development (BDD) framework written for PHP5.
It's objective is to supply a domain specific language for specifying the behaviour of code in terms of executable examples which although similar to unit tests
... [More]
, encourages a mind set better suited to applying BDD or TDD. This involves highly readable examples written using a plain English style DSL. Indeed, these examples can be parsed into plain text specifications which can be gived to anyone outside a developer group. [Less]
PHPMock is a standalone Mock Object library for PHP suitable for creating and verifying Mock Objects and Stubs. It was founded to write an independent Mock Object framework independent of any Unit Testing or Behaviour-Driven Development framework.
Moq (pronounced "Mock-you" or just "Mock") is the only mocking library for .NET developed from scratch to take full advantage of .NET 3.5 (i.e. Linq expression trees) and C# 3.0 features (i.e. lambda expressions) that make it the most productive
... [More]
, type-safe and refactoring-friendly mocking library available. And it supports mocking interfaces as well as classes. Its API is extremely simple and straightforward, and doesn't require any prior knowledge or experience with mocking concepts. [Less]
Original mock objects framework for the .NET platform.
WSUnit is a tool that can help you test Web Service consumers. It provides a predictable and repeatable simulation of a Web Service that is ideal for unit testing. It is also useful when developing web service consumers when the actual web service may not be avaliable due to your remote location or may not have been fully developed itself.
Java mocking is dominated by expect-run-verify libraries like EasyMock or jMock. Mockito offers simpler and more intuitive approach: you ask questions about interactions after execution. Using mockito, you can verify what you want. Using expect-run-verify libraries you are often forced to look after irrelevant interactions.
EasyGloss is a framework for simplifying unit testing of annotated classes that require injection in order to function.
Specter is an object-behaviour specification framework for .NET.
It enables behaviour-driven development by requiring developers to write executable specifications for their objects, before actually implementing them.
Technologically this is
... [More]
similar to test driven development, however the shift in nomenclature removes the psychological barrier of writing "tests" for code that does not exist. (Existing projects implementing this idea include RSpec for Ruby and NSpec for .NET)
Specter uses Boo meta-programming features and therefore allows very readable specifications to be written. [Less]
Trapeze generates a suite of unit tests or specifications for existing Ruby source code. This is accomplished through dynamic analysis, by reflecting on the public interfaces of classes, modules and top-level methods defined in the source. Trapeze
... [More]
then exercises each object, module and method, recording the behavior of the code. This recorded behavior is captured in a suite of test cases or specifications that can be rendered as test code or executable specifications.
In essence, Trapeze is a tool for characterizing Ruby source code. Trapeze lets you fly high as you maintain and enhance a Ruby codebase that lacks test or spec coverage, knowing that you have a regression safety net underneath you. [Less]
Yay! Mock aims to be a test framework-independent mock object library with the most flexibility possible. Based on jMock (Java) it makes expectations based on Invocation signatures rather than just on method names and/or call timings.
Mock objects
... [More]
only contain the methods of the original type they mock. In other words, mock objects created with Yay! Mock do not have any expectation methods embedded inside them; instead they "record" invocations to the context in which they were created.
Yay! Mock encourages dependency injection and loose coupling without pushing you into corners of testing implementation details. It works with any unit testing framework. [Less]