We have just released the second alpha of a new Java virtual mocking framework called rMock, available here.
It is based upon the ideas of jMock and EasyMock, and combines what we feel is the best of the two frameworks. There are some differences in how the expectations are managed, and the long-term goals of the project are more radical.[font=Verdana]
* Mocking of interfaces and objects
* Stubbing of objects with expectations as restrictions
* Setup expectations on the actual method of the mocked object to enable IDE supported refactoring, code completion and code creation.
* Expectation modification regarding
— return value
— exception throwing
— call multiplicity
* A describable Expression/Constraint model supporting advanced asserts and error messages
* DynamicSuites that are flexibly configurable to include or exclude test classes depending on their runtime properties (no more include="**/Test*")
* Nestable ordered and unordered sections for grouping and ordering expectations with clear error messages
On the short-term feature list we have:
* Thread related testing tools
* Internal message bus for publisher-subsciber notifications of testing events
* Plugin-model to hook on to the message bus
On the longer term feature list we have:
* Using the test cases to
— Test-drive and generate correct and up-to-date code and documentation
— Test-drive and generate correct and up-to-date Swing/SWT/Web GUIs and their usage documentation
— Test-drive hardware configurations
— Test-drive deployment
— Generate correct and up-to-date hardware configuration and deployment documentation
The background is that almost all relevant project information is reasonable to provide, or already available, in the test cases.
By providing means in the testing framework to utilize this information we believe that the project documentation can be generated from the test cases. This holds for everything from documenting the smallest piece of software up to acceptance testing a GUI or deploying to a global server farm.
Please, try it out and get back to us with any kind of feedback!
Ola Ellnestam on behalf of The rMock team