A common question regarding Code Tester is how it integrates with version control software. More generally, it is important to know how and what one should considering storing in a version control repository.
This document explores this aspect of Code Tester. Here is a quick summary:
- Code Tester currently offers no direct integration with version control software.
- You should export your test definition to a file.
- You should check in this export file alongside the program it tests, to ensure that they are kept in synch.
- When you check out a version of your program, you should check out the corresponding test definition as well, and import it back into the repository.
No direction integration
As noted above, there is no built-in integration between Code Tester and version control software. Instead, you will need to export a test definition to file and then check in that file to your code repository.
We may add this functionality in the future, but as important as it might be to have that integration, even more important is that you ensure that the versions of your test definition are consistent with the versions of your source code that are being tested.
The first step is to export your test definition. You can do this from the Test Builder or Test Editor.
The file it creates contains a series of PL/SQL procedures definitions and executions, which insert data into the Code Tester repository tables.
Check In Step
After exporting, you will have a file containing all the details of that test definition, which can then be used for import later.
You can certainly now simply check this file into your version control system, like any other file containing code.
We recommend, however, that you check in this file in a way that it stays synchronized with the file that contains the application code being tested. As you change your application code, you may need to change your test definition (add test cases, add arguments to the test definition if the header of the program changes, etc.). In addition, if you need to go back to an earlier version of the program, you will want to also revert to an earlier version of the test definition that is consistent with that version of the code.
So always synchronize check-in of the export file with check-in of the source code.
Check Out Step
And of course when you check out the source code, you should check out the corresponding test definition.
In some version control products, you can create groups of related files (for example, package specification and body) so that you can easily check in and check out those files with one action.