Table of Contents
I would be interested in joining the development of the Scala IDE. This project is interesting for me because software testing is a field that I find extremely important. I believe making it easier for developers to create, run, and verify the results of such tests and executable specifications is an essential feature. My goal is to contribute a new plugin which can easily manage tests created by the Specs2 framework, and possibly a simple tutorial about its usage. I believe implementing such an easy-to-use testing feature to the Scala IDE may really help developers and make the environment a more widely used tool.
What I believe would be useful is to have a rich set of features (like templates, wizards for creating different tests, context-sensitive commands to run them, run all of them separately or in a batch, etc.).
Ideas of possible new features (these having priorities at the moment):
cheeseng and bvenners gave me a quick reply for the idea of using ScalaTest as a platform for our project to integrate Specs2 into the Scala IDE. Eric also suggested this way of development. Specs1Runner could be easily used to bridge the two worlds together.
I imagine adding the required libraries to a given Scala project a similar way how JUnit 3/4 libraries are added to a general Java project in Eclipse:
(This is relevant once we have at least a set of basic functionalities and the project is moved to a separate Github project.)
There will be a separate feature for the project, allowing us to create an update site for the included plugins. This way the new functionalities might be installed into the Scala IDE by the standart Eclipse way under the Help --> Install new software... item by adding the new site to the existing ones. Also, updating the plugin will be easier.
There should be a new RunConfiguration and RunConfigurationTabGroup in the relevant wizard in Eclipse at the run configurations. We need proper RunAction implementations.
A new run configuration should be automatically created when the user start the tests via the Package Explorer (assuming there was na such proper configuration before), right-clicking on the either on a source folder, test class or either an expanded test case from the list of a class, and selecting a Run As... --> Spec2 specification.
The output of the test should be directed to a new, specified Console (this is required for some additional features like red error messages and blue/black standard text the test might output, and to allow further customization).
The result would be shown in a separate View next to the Project Explorer (just like when JUnit tests are run in Eclipse).
Idea: running the tests might be based on the current architecture Eclipse has around JUnit. Some parts of the code might be usable in this project (e.g., the visualization), and the functionalities might be similiar too (e.g., jump to a specific test/line, show the output of a failed assertion, etc.). Probably a fast prototyping in Java could validate this approach.
Planned features on the new view:
If I manage to finish the project sooner, we might add some additional features awaiting to be implemented in the Scala IDE, like:
Unfortunately, I am just getting to know the Scala IDE in details, so some (or all) of my previous ideas might already be implemented.
Last edited by rlegendi,