Integration of Specs2 with the Scala IDE
What's this project all about?
Linking Specs2 (video) into the ScalaTest integration of Scala IDE.It should be straightforward to install and try the current version of the plugin, however it needs a specific configuration at the moment.
Please consult the specs2-plugin-demo description for the details.
Features
A brief introduction of the major features - working more or less :-)For additional features and their specified milestones please take a look on the project tickets.
Read this Wiki about the planned features and timeline about what was completed during the GSoC 2012 program.
Working with the ScalaTest ScalaIDE Integration
- Integration with the ScalaTest View
- Package-based test execution
- Select a Specs2 file/suite/test from source code to run
- Navigation to source from the ScalaTest View

Nicely Formatted Execution Output Display
The ScalaTest view produces a nicely formatted output for executed Specs2 specifications:Run starting. Expected test count is: 2
HelloWorldSpecTest Acceptance Specification:
- This is a specification for HelloWorldSpec as a standard specification
When executing 'HelloWorldSpec' the runner should
- find 3 examples
HelloWorldSpecTest2 Acceptance Specification:
- This is another Specification
When executing The other specification
- something cool should happen
Run completed in 1 second, 870 milliseconds.
Total number of tests run: 2
Suites: completed 2, aborted 0
Tests: succeeded 2, failed 0, ignored 0, pending 0, canceled 0
All tests passed.
Specs2-Specific Wizards
Create specifications easily with the new wizards!
Template Proposals
The plugin offers over 20 new Specs2-specific template proposals! Current embedded definition list is available here.
Open up the list of available template proposals for Ctrl + Space anytime:
Use tab to cycle through the different components to fill them up as any template works in Eclipse:
Limitations
- Several libraries are required on project level to make the plugin work. We're working on it to reduce them.
- You have to add a specific annotation,
@WrapWith(classOf[Specs2Runner])
before all of the specifications you wold like to run with the ScalaTest plug-in. We are also working on the issue with Bill Venners, Chua Chee Seng and Eric Torreborre (it requires extraction of some abstractions from ScalaTest and a slight modification of the Specs2 API). - Auto-formatting of acceptance specifications is working with the default behaviour of scalariform. We are working on Specs2-specific extensions.
Future Work
Don't panic! :-) Although the GSoC 2012 program is officially over, the work on the plugin definitely continues. I still have a PhD to write so I might not be able to fix things immediately, so please bear with me.
Found a bug? Having an issue?
Post it on the issue list here:
https://github.com/rlegendi/specs2-runner/issues
I'll take a look on it!
Project Reports
- Code coverage (with scct)
Acknowledgement
This work was supported by Google through the Google Summer of Code, GSoC 2012 program. Their support is greatly acknowledged.
Contributors
Many thanks for Eric Torreborre (@etorreborre) for the code reviews and quick replies when I got struck. Also thanks for both the ScalaIDE team (Mirco Dotta, Iulian Dragos, Luc Bourlier and others) and ScalaTest team (Chua Chee Seng and Bill Venners) for helping me quite a lot here at Github and on the project mailing lists!
Also, we've got great deal of feedbacks, thanks for the help and work, guys!
- Guillaume Massé for testing the plugin under MacOS X with JDK 6.0
Support and Contact
Having trouble with the plugin? Feel free to contact me at and I'll help you sort it out. Any feedback is more than appreciated!
If there is any updates on the project, I'll definitely send out a message on Twitter or a post at Blogger, and to the related mailing lists of course (scala-ide, specs2).