Crowdfunding for JUnit Lambda is underway
With JUnit’s crowdfunding campaign gaining traction, we’re all for further development of the popular unit testing tool. Johannes Link reveals in this JAXenter interview where the problems currently lie with JUnit and how these might be addressed in a possible JUnit 5.0.
JAXenter: You’ve just started a crowdfunding campaign for the extension of JUnit. Which problem with JUnit are you intending to solve?
Johannes Link: Version 4.0 of JUnit was released 10 years ago. Since then, not only have Java and the JVM evolved, but there are also many new ideas emerging as to how one might make automated tests. Other test frameworks cover this area well, but most favour the JUnit integration of IDEs and build tools. However, IDEs and build tools use not only official ports, but rely on specific implementation details in JUnit subversions. This means that the success of JUnit as a platform prevents the development of JUnit as a test tool. The basic problem we want to solve is executing test cases by separating a sufficiently powerful and stable API.
Can you name a few examples in which JUnit may have to be necessarily updated?
In addition to the already mentioned Execution API, extensibility is a real pain point. With Test Runner and TestRule there are two competing concepts that have different expansion aspects mixing with each other. From this mishmash we want to extract clearly defined constructs. Finally, we would like to give JUnit users the possibility to formulate some test cases on Java 8 features like lambdas and so forth.
Tell us more about the campaign – who’s behind it, what’s your goal?
Behind the campaign is the JUnit’s previous core committer: Marc Philipp has now joined JUnit Lambda as a full-time developer, with David Saff and Kevin Cooney on board in an advisory capacity. In addition to Stefan Bechtold, Matthias Merdes and I are also involved. If the campaign is successful, we plan to work intensively for approximately 2 months from October on the new code base – in a public repository of course, so that the community can give feedback early.
How is it currently looking? Are there any companies or committers signed up for JUnit Lambda?
To date, the employers of Marc, Stefan and Matthias are the main sponsors, as they have pledged to fund a developer for 6 weeks. However, we need even more financial support for the rest of the time as well as additional developers. The campaign target of €25,000 EUR is just the minimum that we deem useful for kick-off. We have created an explicit reward title of “Main Sponsor” – for those companies wanting to make a stronger commitment, which we are still open to accepting.
What is your vision for a possible JUnit 5.0?
Our current vision provides three core modules: Core, Execution API, and Java 8 extension. To maintain backwards compatibility and a smooth migration from version 4 to 5, another module or two will probably also be added.
If the campaign is successful, what’s your idea of the next releases?
There will certainly be previews and spikes very soon – within a few weeks after the start of development. We expect genuine releases until the Spring of 2016, but this depends on the feedback we receive on real code by the community.
And finally, a small plug for the cause: Why should companies take part in the campaign?
In addition to the advertising effect for future employees, more valuable perks allow participation in the kick-off meeting, in which we’ll decide on the general direction of development. In the end, a certain question arises: In the future, can JUnit stay the preferred platform for automated testing on the JVM or will fragmentation lead to significant additional expenses for build management and continuous integration? Therefore, a successful JUnit Lambda also means that there’s positive economic consequences for software companies.