Internally, we use Jenkins as well as TeamCity.
We have two types of tests:
- The tests that are added when new core functionality is added. You can find these where Maven expects them: each Maven project has a
srcdirectory with 2 sub directories:
test. For instance: if you look at iText core, you'll find the released stuff here and the tests here. Most of these tests are built on top of our testutils.
- The tests that are added when we get questions on SO or when we create code samples for the books. For these we use a generic test classes such as GenericTest and SandboxSampleWrapper. The wrapper class makes creating a test a no-brainer. All you need to do to turn a sample into a test is adding the
@WrapToTestannotation. Well, actually there's more involved: you need to follow a specific pattern when writing a sample: always use
DESTfor source PDFs and resulting PDFs, always use a
manipulatePdf()method, and always give the cmp file the same name as the
DESTfile prefixed with
In both cases, you'll find PDF files of which the name starts with
cmp_, see for instance the cmpfiles folder for the examples. In both cases, you'll find references to Ghostscript and a compare tool (you'll need to configure these).