java - Integration of System Tests in the build process -


I continue the development of a serial layer generator, entering user type description (currently at XSD or WSDL) , And the software produces code in a specific target language (currently, Java and ANC C89), which is capable of representing the types described and whatever can serial (a byte is changed in sequence) And in these Do Disrailaijh to Lyon.

Since the generated code is difficult (I mean, writing code is hard. Write code, writing code is hard to write code, which is a whole new country of hardness :)) Thus, in the project before my Master thesis, we decided that we should replace some system tests.

These systems know a type of trial and several pairs of values ​​and byte sequences. To execute system tests in a particular language, the type is run through syste, resulting in the code described above. This code is then attached to some handwritten host-code, which is a combination of these pairs of a byte sequence Is able to read and there is a value and function to read values ​​of a given value from a string. The result is executable as executable and the byte-value-quote is fed into this executable and it is thoroughly tested if all such binding results are in "Y", if this is the case then for these examples Sort the values ​​in the already defined byte sequence and we can conclude that the generator code compiles and runs properly, and thus, overall, in this way The part of the system dealing with is correct. This is a very good thing.

However, I am slightly unhappy with the present implementation now. Currently, I've written a custom junit runner, which uses a lot of reflections to read these byte-value bindings with class attributes. In addition, to generate the code, the overall stack requires a lot of boilerplate code and boilerplate classes, which do nothing more than two or three strings. Worse, it is difficult to get good integration with all devices, which are based on Junitz details and generate test failure reports. It is really difficult to debug anything that the assistant MiGN Junitt testster or Eclipse Test Runner has made the mistake to the compiler, just because the format of this error is different from its identifying errors.

Worse, even a failed test in the generated code causes Maven to fail. It is very upset that I like if the Maven build fails if a certain test of a different unit fails because (for example), if for some reason a certain depth first preder calculation fails, So everything will get disturbed, however, if I want to show some generated code for any kind of work, then it is very upset if I do not build my application quickly Awareness because the way I'm working now, he has not finished.

So, looking at this background, how can I get a good automated system that checks the characteristics of this generation? I have possibilities:

  • An old integrated solution seems less than ideal, as long as I can improve the integration of Maven and Junit and Junit with my runner and everything else. .
  • We used to use fitness first, but cheated it altogether because it had more problems than the solution. On major issues, we had integrated into Maven and Hudson.
  • One solution I'm not completely convinced using the TextTest, because it wants most executable, to put on stdin string and stdout to expect the wire. The whole "Run app linking, link with host code and then run executable executable" seems to be complicated.
  • Writing your own solution will definitely work and what I want However, this will be the most time consuming task as usual.

So ... can you see another possible way to avoid writing something else in such a way?

You can run Maven with -DMaven.test.skip = true. Netbeans has a way to set it up automatically unless you explicitly hit an order to test the project, I do not know about Eclipse.


Comments

Post a Comment

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -