Clone this wiki locally
In a nutshell Sibilla aims at changing the point of view regarding test classes and classes under test. What we get is the focus being moved to the classes under test; from those classes, which of course are the most important ones of your projects, we obtain links to your test classes and test methods. In other words we define the classes and methods' contract using tests, while also keeping track of tests that need to be run when a class/method under test has been modified. This is possible by collecting metadata sets that represent links between classes under test and test classes (and eventually more fine grained links between methods) and using them for a lot of purposes. Metadata can be collected from different sources: annotations on classes under test, instrumentation of test classes during tests' execution (in future perhaps even from a dedicated user interface). These metadata can be used for various goals: first of all it becomes possible to run only the tests that stress just a particular set of classes (for instance the classes changed since last compilation), moreover a graphical representation of classes' links can be derived. We have a Maven plugin, while Eclipse and Hudson ones are in our roadmap. Further cool idea around this is supporting generic tests to inject on existing production code (to verify commonly situation like don't accept null parameters) and mock verification (are your mocks respecting the contract you have defined on mocked classes with your tests?) Don't forget to checkout our Samples...it will give you an idea of what Sibilla could do for you
Here you have our RoadMap with some link to better details feature listed here. We are very busy people and so we have put very prudent dates for releases...of course we are hoping to deliver releases in shorter time.
- Core with all metadata collected
- Metadata collection from annotations¬
- Metadata collection by instrumenting test classes
- maven plugin to run right tests (only tests stressing classes recently changed/compile)
- Metadata on interfaces and more general on an hierarchy of classes to define hierarchical contracts on classes and methods.
- support of Junit tests
- integration with arquillian
- Metadata graphical (html) representation
- ant runner
- eclipse plugin with first features (at least test navigation from classes under test and tests' run on save of classes under test)
- Very first support of generic test injection
- more integration with arquillian and extension of metadata to component level
- Mock validation to verify if they adhere to contract defined by tests on mocked classes. We are planning to support Mockito in this release
- Support of TestNG tests
- new feature for eclipse plugin (collection of metadata with dedicated user interface, graphical representation of tests)
- More support of tests injection.
- Support of different testing frameworks
- Support of different mocking frameworks
- Support of different language for jvm both for generic tests injection than for test and classes under tests
- Much more cool feature you will suggest us
We need help in all areas. The most wanted contribution is in the core (mocking validation, generic tests injection), ant runner and MOST wanted of all eclipse plugin development! Would you join us? Join our mailing lists and let us know.
A mind map depicting ideas we are working on==
If you would an explanation of what you are saying in this mind map please refer to IdeasDescription