Inhaltsverzeichnis
Die Versionsangaben in den Maven-Konfigurationen des checkerberry
test centers beziehen sich nie auf feste Versionen, sondern geben immer
die empfohlene Versionsnummer an. Wird das checkerberry test center in
ein Maven-Projekt des Kunden eingebunden, können die Versionsnummern
einfach in der Maven-Konfiguration überschrieben werden. Maven richtet
sich bei der Auswahl der Versionsnummer an der Entfernung zum
Wurzelprojekt, welches in diesem Beispiel das Kundenprojekt ist. Das
bedeutet, dass die Definition der Versionen in den
pom.xml
Dateien des Kundenprojekts (Distanz 1) eine
höhere Priorität haben, als die Versionen des checkerberry test center
(Distanz 2). Dies liegt daran, dass die Maven-Konfigurationen des
checkerberry test centers in dem Kundenprojekt lediglich referenziert
werden.
Neben dem Standardverfahren von Maven zur Ermittlung der besten
Version kann für jede externe Bibliothek die verwendete Versionsnummer
geändert werden. Für alle externen Bibliotheken existiert eine Property,
die den Wert der Version enthält. Das Property kann durch eine
Konfiguration in der settings.xml
überschrieben
werden. Folgendes Code-Beispiel beschreibt die erforderliche
Konfiguration der settings.xml
.
Beispiel 6.1. Änderung einer Versionsnummer in der settings.xml
… <profiles> <profile> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <org.dbunit.checkerberry.version>2.4.7</org.dbunit.checkerberry.version> </properties> </profile> </profiles> …
Um ein Property in der settings.xml
zu setzen,
muss ein neues Profil angelegt werden. In dem angegebenen Code-Beispiel
wird das Profil standardmäßig aktiviert
(<activeByDefault>true</activeByDefault>
).
Dann wird die Versionsnummer von DbUnit auf den Wert 2.4.7 gesetzt.
Diese Einstellung führt dazu, dass der in dem checkerberry test center
konfigurierte Wert überschrieben wird.
Es ist darauf zu achten, dass die settings.xml
immer dem aktuellen Benutzer zugeordnet ist. Daher muss diese
Einstellung bei allen Nutzern angepasst werden. Dies betrifft
insbesondere auch die Benutzer, unter deren Namen die Continuous
Integration Systeme gestartet werden.
Das checkerberry test center verwendet slf4j
[slf4j Homepage, 2013] als Logging-Api. Dadurch kann
der Benutzer durch eine Bindung (z.B.
slf4j-log4j12-1.7.5.jar
) die konkrete Implementierung
des Logging Frameworks wählen, z.B. Log4j [Log4j Homepage,
2010]. Das folgende Code-Beispiel enthält eine mögliche
Konfiguration in Form einer log4j.properties
Datei.
Beispiel 6.2. log4j.properties
log4j.rootLogger=INFO, MyConsApp, MyFileApp log4j.appender.MyConsApp=org.apache.log4j.ConsoleAppender log4j.appender.MyConsApp.layout=org.apache.log4j.PatternLayout log4j.appender.MyConsApp.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n log4j.appender.MyFileApp=org.apache.log4j.DailyRollingFileAppender log4j.appender.MyFileApp.datePattern='.'yyyy-MM-dd_HH-mm log4j.appender.MyFileApp.file=checkerberry.log log4j.appender.MyFileApp.layout=org.apache.log4j.PatternLayout log4j.appender.MyFileApp.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n log4j.logger.de.conceptpeople=DEBUG
Das Code-Beispiel enthält eine mögliche log4j-Konfiguration. Die
Konfiguration aktiviert einen Appender, der die Ausgabe auf die Konsole
steuert (MyConsApp
). Des Weiteren wird ein Appender
definiert, der Log-Informationen in die Datei checkerberry.log schreibt
(MyFileApp
).
Über den rootLogger
wird der Standard-Log-Level
definiert, der bei der Logging-Ausgabe berücksichtigt wird. In dem
Beispiel werden nur Logging-Ausgaben auf INFO-Level und darüber
ausgegeben. Als Ausnahme wird für alle Packages, die mit
de.conceptpeople
beginnen, der Log-Level auf DEBUG
gesetzt.
Eine detaillierte Auflistung der Konfigurationsmöglichkeiten ist auf der Log4j-Homepage vorhanden.
Selenium verwendet die Java Logging API. Die Konfigurationsdatei
von der der Java Logging API liegt unter
JAVA_HOME/jre/lib
. Um eine andere Konfiguration zu
verwenden kann die Datei über das Property
java.util.logging.config.file
angegeben werden. Der
entsprechende Aufruf mit Maven wäre:
Beispiel 6.3. Maven Aufruf mit Angabe einer alternativen logging.properties
mvn clean install -Djava.util.logging.conf.file=C:\settings\logging.properties
Ein Konfigurationsbeispiel für die Datei logging.properties ist in Beispiel 6.4, „logging.properties“ angegeben.
Beispiel 6.4. logging.properties
handlers=java.util.logging.ConsoleHandler # Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level=INFO java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
Tabelle 6.1. Fehlermeldungen des checkerberry test centers
CB-1000 | Das Verzeichnis 'XXX' konnte nicht erstellt werden. |
Um eine Datei zu speichern, z.B. eine neue DTD, einen Datenbankdump, einen Diff-Report, o.ä., sollte ein neues Verzeichnis erstellt werden. Das Erstellen dieses Verzeichnisses ist fehlgeschlagen. | |
CB-1001 | Spring hat eine Exception geworfen. |
Das checkerberry test center wird in Verbindung mit Spring genutzt. Diese Fehlermeldung kapselt eine Exception aus dem Springframework und tritt z.B. auf, wenn der ApplicationContext nicht geladen werden konnte. | |
CB-1002 | Unbekanntes Testframework. Bitte lesen sie die Dokumentation dieser Exception (entweder im Benutzerhandbuch oder im Quelltext) für weitere Hinweise zu möglichen Lösungswegen. |
Das Testframework konnte nicht ermittelt werden. Wie Sie das checkerberry test center für verschiedene Testframeworks konfigurieren, können Sie unter Abschnitt 2.5.3, „Erzeugen der checkerberry db-Umgebung“ nachlesen. | |
CB-1004 | Unerwarteter Programmzustand. Diese Exception sollte niemals auftreten. Bitte wenden Sie sich an die ConceptPeople consulting gmbh. |
Wir entschuldigen uns für die Unannehmlichkeiten. Bitte teilen Sie uns mit, dass diese Exception aufgetreten ist. | |
CB-1005 | Der TestConnectorCreator 'XXX' konnte nicht instanziiert werden. |
Der über die
TestConnectorConfiguration Annotation angegebene
TestConnectorCreator konnte nicht
instanziiert werden. | |
CB-1006 | Der Name der aktuellen Testmethode konnte nicht bestimmt werden. Bitte lesen sie die Dokumentation dieser Exception (entweder im Benutzerhandbuch oder im Quelltext) für weitere Hinweise zu möglichen Lösungswegen. |
Das checkerberry test center konnte den Namen der aktuellen Testmethode nicht bestimmen. Dies hängt damit zusammen, dass einige Testframeworks den Zugriff auf den Methodennamen nur über Umwege ermöglichen. Das checkerberry test center bietet daher für unterschiedliche Frameworks jeweils passende Methoden zur Bestimmung des Namens:
Bei jeder dieser Methoden reicht es aus, sie im abstrakten Basistestfall anzuwenden. Auf diese Weise können alle abgeleiteten Testfälle die Methode ohne Code-Duplizierung nutzen. (siehe Abschnitt 2.5.3, „Erzeugen der checkerberry db-Umgebung“) | |
CB-1007 | Die Testmethode 'XXX' existiert nicht. |
Die Testmethode mit dem Namen XXX konnte nicht gefunden werden. Möglicherweise gibt es ein Problem mit der Einstellung des Testframeworks (siehe Abschnitt 2.5.3, „Erzeugen der checkerberry db-Umgebung“). | |
CB-1008 | Der Bezeichner 'XXX' enthält das XML Steuerzeichen 'YYY' und kann deshalb nicht verwendet werden. |
Es wurde der String XXX für einen konfigurierbaren Bezeichner gewählt. Dieser wird in XML Dateien verwendet und darf deshalb kein XML Steuerzeichen enthalten. Bitte entfernen Sie den Substring YYY aus dem Bezeichner. | |
CB-1009 | Der Wert 'XXX' konnte nicht in den Typ 'YYY' konvertiert werden. |
Bei der Verwendung der Validatoren werden aus String-Representationen spezielle Java-Klassen z.B. java.util.Date erzeugt. Wenn eine Zeichenkette XXX nicht in einen Typ YYY konvertiert werden konnte, wird diese Fehlermeldung erzeugt. | |
CB-1010 | Der Wert ''XXX'' konnte nicht in eine BCD-Darstellung konvertiert werden, da die oberen 4 Bit (''Y'') oder die unteren 4 Bit (''Z'') nicht durch eine Ziffer darstellbar sind. |
Dieser Fehler tritt auf, wenn in checkerberry db die Verwendung des BCD-Formats aktiviert ist und der Wert XXX nicht im BCD-Format dargestellt werden kann. Dies ist der Fall, wenn der Wert mindestens ein Byte enthält, bei dem das obere (Y) oder untere Nibble (Z) einen Wert enthält der nicht zwischen 0 und 9 liegt. Die Werte Y und Z werden als Zahl angegeben z.B. 9 oder 11. | |
CB-1011 | Die BCD-Darstellung >XXX< konnte nicht in ein Byte-Array konvertiert werden, da sie ein ungültiges Zeichen (''Y'') enthält. |
Dieser Fehler tritt auf, wenn ein String im BCD-Format ein ungültiges Zeichen Y enthält z.B. „X'1ö'“ und daher nicht in ein Byte-Array konvertiert werden konnte. | |
CB-1012 | Die BCD-Darstellung >XXX< hat eine ungültige Länge. Die Anzahl der Ziffern muss ein Vielfaches von 2 sein. |
Dieser Fehler tritt auf, wenn ein String im BCD-Format mit ungültiger Länge angegeben wird z.B. „X'123'“. | |
CB-1013 | Die BCD-Darstellung >XXX< hat ein ungültiges Präfix. Das gültige Präfix lautet >Y<. |
Dieser Fehler tritt auf, wenn ein String im BCD-Format das falsche Präfix verwendet z.B. „X123“. Das erwartete Präfix („X'“) wird in der Meldung ebenfalls angezeigt. | |
CB-1014 | Die BCD-Darstellung >XXX< hat ein ungültiges Suffix. Das gültige Suffix lautet >Y<. |
Dieser Fehler tritt auf, wenn ein String im BCD-Format das falsche Suffix verwendet z.B. „X'123“. Das erwartete Präfix („'“) wird in der Meldung ebenfalls angezeigt. |