Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Metadaten von BOs und Feldern/Attributen

Konkrete Test Tests bedingen praktisch immer, dass die Metainformationen der als Eingabedaten verwendeten Objekte vorliegen. Für Nuclos bedeutet dies: Möchte ich einen Test für eine Klasse A schreiben, die als Eingabedaten Instanzen des BOs B verwendet (sei es als EntityObjectVO, MasterDataVO oder GenericObjectVO), dann muss ich die entsprechenden Felder des BOs B setzen können und die Metainformationen (MetaProvider, EntityMeta, FieldMeta) für das BO B müssen zum Testzeitpunkt abrufbar sein. Dies ist notwendig, da sehr viele zu testende Klassen Metainformationen über BOs abrufen und verarbeiten (und es sehr unpraktisch ist, all diese Metainformation für jeden Aufruf zu mocken).

Die Metainformationen werden jedoch bei Nuclos konfiguriert (und liegen daher nicht in Code-Form vor). Daher war es an dieser Stellen notwendig, speziell für Nuclos Unit Tests einen speziellen MetaProvider (org.nuclos.server.common.TestMetaProvider)  zur Verfügung zu stellen. Dieser TestMetaProvider liest die Metainformationen in Form einer XML Datei, von einem Nuclos Server zur Runtime mittels JMX Operation (MetaProvider#dumpAllEntities(boolean)) erzeugt wurde. Durch diesen Trick stehen 'richtige' Metainformationen einer Nuclos Server Instanz auch für Unit Tests zur Verfügung.