Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: Kazade on February 22, 2009, 07:15:37 pm
-
Hi guys,
I've been working on my unit testing plugin for about a week now, and although it's not ready for release yet (unless you want a very unstable Code::Blocks with little gain!) I've got it to a stage where I can show off a screenshot.. so here it is!
(http://img527.imageshack.us/img527/9773/testing5.th.png) (http://img527.imageshack.us/my.php?image=testing5.png)
The new stuff:
1. A new Testing menu which allows you to create/add and run tests
2. A new unit tests results panel
3. A new unit tests virtual folder (which is added automatically if you enable unit testing on a project)
At the moment only adding an existing test (by browsing for a source file) works. What the plugin does is scan the code to determine what unit testing API was used (e.g. boost::unit - that's the only one that works at the moment) and then runs the test and parses the output. I plan to add support for the common C/C++ unit testing libraries. I hope to have a release ready in the next couple of weeks.
-
good work man keep up that way ;)
-
yeah really cool, im not actually programming on c++ but I always keep track of the project in case i need to program on it again :D
-
We're using Unittest++ at work. I'm currently trying to figure out how a plugin can assist us in using the framework.
The graphical representation of the results is nice to have but nothing essential. Will the plugin be customizable in the area of parsing the text output of a program and extract unit test results?
I think what would be helpful is right-clicking inside a file and select "create new test-case" and then a dialog pops up and you can enter things "like name of test", "fixture to use"(from a drop down list) and it creates the test-case at the cursor position. This might be difficult to do and not portable accross frameworks. E.g. for unittest++ a fixture is just a normal struct. And some people might even place these in header files (though we include them inside the cpp file).