Generazione del codice del test

Durante la fase di inizializzazione di una richiesta di generazione di codice, viene creato un oggetto che estende la classe LTTestExtensionPreferences richiamando tutti i plug-in che implementano il punto di estensione com.ibm.rational.test.lt.codegen.core.codegenProtocolExtension mediante il metodo supportFeatures().
Informazioni su questa attività

supportFeatures()method richiama l'elenco di funzioni dell'oggetto modello del test e se determina che le funzioni sono supportate, restituisce l'oggetto LTTestExtensionPreferences appropriato. L'oggetto restituito implementa l'interfaccia com.ibm.rational.test.lt.codegen.core.config.IExtensionPreferences che è la parte pubblica della classe LTTestExtensionPreferences.

La generazione del codice è controllata dalla classe com.ibm.rational.test.lt.codegen.core.CodeGenerator. Questa classe utilizza un oggetto EclipseCodegenConfiguration che memorizza le mappe hash per i traduttori, gli adattatori degli elementi di modello e i modelli determinati dai tipi di elementi della lingua. Gli elementi di test del contenitore, i pool di dati e altri elementi specifici del protocollo hanno i propri traduttori definiti. Gli elementi che non possono esistere da soli sono tradotti come elementi secondari degli elementi contenenti richiamando il metodo translateChildren() del traduttore.

Il generatore di codice determina il traduttore corretto e richiama il relativo metodo getTranslationFor() per il determinato elemento di modello.

La classe ElementAdapter con il relativo metodo getAdapterForType() determina l'elemento di modello di generazione del codice per il determinato elemento di modello del comportamento.

La traduzione degli elementi di test implica le seguenti operazioni:

  1. Gli elementi di test sono letti dal modello di comportamento e il traduttore appropriato viene determinato per ognuno di essi.
  2. L'elemento della lingua viene creato per l'elemento e viene determinato il relativo modello.
  3. Gli attributi dell'elemento sono letti dal modello e i relativi parametri corrispondenti sono sostituiti nel modello.
Risultati
La generazione degli elementi del linguaggio del codice è un processo ricorrente e genera la struttura di elementi del linguaggio contenente tutti i livelli degli elementi di test del modello di esecuzione, ognuno con il modello istanziato e contenente tutte le sostituzioni di test richieste. La struttura viene implementata utilizzando i contenitori degli elementi del linguaggio come nodi. Le sostituzioni dei modelli per i contenitori degli elementi del linguaggio per i parametri che definiscono più elementi sono elaborati dalla classe LangElemCollectionValue.

Feedback