Unit testing tools for QVTo? [message #1243730] |
Tue, 11 February 2014 06:06  |
Eclipse User |
|
|
|
Hi all,
Currently we have some unit testing of transformations in place that runs a transformation with some input model, produces an output, and compares it to some expected output model. This works sort of OK. The biggest part we are lacking is actually a measurement of test coverage.
So my questions: have any of you used unit testing? If so, are you using some (open source) framework? And, does it measure code coverage?
I've searched the internet and forums, but so far all I've found are some old posts from 2009 and some literature about a tool called MANTra (but no tool available to download). So, before attempting to revamp our testing "framework" myself, I wanted to see if anyone else has done something with success.
Thank you!
Chris
|
|
|
|
Re: Unit testing tools for QVTo? [message #1245312 is a reply to message #1243730] |
Thu, 13 February 2014 11:15   |
Eclipse User |
|
|
|
Hi
I don't know of any tool.
Internally the Eclipse QVTo project uses JUnit tests around Java launches.
The QVTo execution is interpreted using a Visitor for each AST class.
The Visitor is intended to be extensible for tracing, so it should be
really easy to intercept whatever you want to count occurrences.
If you're able to produce good tools, we would like to make them
available through the Eclipse QVTo project.
The Eclipse JUnit View is extensible so you might look to defining a
standard JUnit launcher and checker that could apply to any MtoM tool.
Regards
Ed Willink
On 11/02/2014 13:55, Chris Gerpheide wrote:
> Hi all,
>
> Currently we have some unit testing of transformations in place that
> runs a transformation with some input model, produces an output, and
> compares it to some expected output model. This works sort of OK. The
> biggest part we are lacking is actually a measurement of test coverage.
>
> So my questions: have any of you used unit testing? If so, are you
> using some (open source) framework? And, does it measure code coverage?
>
> I've searched the internet and forums, but so far all I've found are
> some old posts from 2009 and some literature about a tool called
> MANTra (but no tool available to download). So, before attempting to
> revamp our testing "framework" myself, I wanted to see if anyone else
> has done something with success.
>
> Thank you!
> Chris
|
|
|
Re: Unit testing tools for QVTo? [message #1248703 is a reply to message #1243730] |
Mon, 17 February 2014 10:12   |
Eclipse User |
|
|
|
Hi Cris,
> Currently we have some unit testing of transformations in place that
> runs a transformation with some input model, produces an output, and
> compares it to some expected output model. This works sort of OK. The
> biggest part we are lacking is actually a measurement of test coverage.
>
> So my questions: have any of you used unit testing? If so, are you
> using some (open source) framework? And, does it measure code coverage?
>
Framework you described is actually the one of frameworks that QVTo uses for unit tests.
Look at http://git.eclipse.org/c/mmt/org.eclipse.qvto.git/tree/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/api/framework
This is implementation of Selkow's algorithm used to compare EMF models as a tree structures.
Junit test suite http://git.eclipse.org/c/mmt/org.eclipse.qvto.git/tree/tests/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/transform/TransformTests.java
uses exactly the scheme you described.
Btw, we also use a couple of other script driven testing frameworks which are implemented as a part of testing automation for QVTo (completion engine, debugger interception, etc.).
See http://git.eclipse.org/c/mmt/org.eclipse.qvto.git/tree/tests
Test coverage is usually organized by third-party tools like Sonar or dedicated plug-in like emma for Hudson.
Regards,
Sergey.
|
|
|
Re: Unit testing tools for QVTo? [message #1249463 is a reply to message #1248703] |
Tue, 18 February 2014 04:24  |
Eclipse User |
|
|
|
Hi Sergey,
About the code coverage: I looked at tools like EMMA/EclEmma, but as far as I could tell, it only operates on Java code, and would not be able to do things like highlight QVTo statements touched. Am I mistaken?
Chris
|
|
|
Powered by
FUDForum. Page generated in 0.04048 seconds