= Unit Tests = ProMoT in its present state is a very complex software. In order to minimize bugs and possible side effects when changing code fragments and improve the overall quality of ProMoT, it is good practice to integrate and run automated tests. [[BR]] For the Java part the JUnit testing framework is a suitable solution. There are already some tests implemented. They are listed in the class !PromotTests see [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/test/PromotTests.java] As a first step the available tests should be studied and further simple tests can be implemented. == ProMoT Browser == * some simple tests: * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/browser/CmdAddSubclass.java CmdAddSubclass] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/browser/CmdCopyClass.java CmdCopyClass] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/browser/CmdDelete.java CmdDelete] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/dialogs/CmdCustomizeUndoRedo.java CmdCustomizeUndoRedo] * some more complex tests: * testing the import and export functionality of smbl-files ([/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/dialogs/CmdSBMLExport.java CmdSBMLExport] and [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/dialogs/CmdSBMLImport.java CmdSBMLImport]) * testing the import of CNA-files into ProMoT, see [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/dialogs/CmdCNAImport.java CmdCNAImport] == ProMoT Editor == * some simple tests: * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdRename.java CmdRename] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdPropagateTerminal.java CmdPropagateTerminal] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdDrop.java CmdDrop] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdInsertLinkNodeInLinkEdge.java CmdInsertLinkNodeInLinkEdge] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdPropagateBusyTerminal.java CmdPropagateBusyTerminal] * [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdSetRightStructAdapterType.java CmdSetRightStructAdapterType] * some more complex tests: * testing the functionality of the online-checker-system, see [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/checker] * testing the docu-generation, see [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/docu] * testing the functionality of the variable editor, see [/trac/browser/Promot/trunk/promot/src/gui/org/mpg/dcts/promot/varedit] == ProMoT Explorer == ... == ProMoT Misc == ... == Literature == * [http://open.ncsu.edu/se/tutorials/junit/ Unit Testing in Eclipse Using JUnit] * [http://tfs.cs.tu-berlin.de/lehre/SS05/UML-Java/junit.pdf Testen mit JUnit (german)]