Comportamento degli stub

Gli stub sono classi che forniscono implementazioni di sostituzione per le classi reali richiamate dal codice. È possibile generare stub per i componenti Java, per gli EJB (Enterprise JavaBeans) e per i servizi web.

Gli stub sono tipicamente utilizzati per i seguenti scopi:

È possibile definire lo stub di una classe Java e ridefinirlo in più di una verifica. Una volta che lo stub è stato creato, il comportamento viene definito nella tabella dati stub oppure viene immesso il codice nella classe di codice utente associata allo stub.

Tabelle dati stub

Le tabelle dati stub definiscono il comportamento di output di una classe stub in risposta a determinati input. Mediante la tabella dati stub è possibile simulare la classe stub specificando il reale input e i valori di ritorno per ciascun metodo stub. L'utilizzo della tabella dati stub viene esemplificato nell'esempio illustrato di seguito relativo a un'applicazione per la gestione degli immobili.

In questa applicazione vengono verificate due classi: Lender e Appraiser. Viene effettuato lo stub di una terza classe denominata Mortgage per poter più facilmente eseguire in modo isolato la verifica delle classi Lender e Appraiser. Queste classi e i relativi metodi vengono sintetizzate nella tabella che segue:

Lender Appraiser Mortgage
validateCredit getBestMortgageRate getAPR
computeFixed30y    
computeARM30y    

Il metodo getAPR all'interno della classe Mortgage prevede due parametri di input, points e score, e restituisce rate. Come visualizzato nella seguente raffigurazione della tabella dati stub per la classe Mortgage, se il parametro points è uguale a 1, a prescindere dal parametro score, l'output rate sarà 5,94%. Se il parametro points è uguale a 2 e score è compreso in un intervallo che va da 700 a 900, l'output rate sarà 5.69%.

Esempio di tabella dati stub

Mediante l'utilizzo della tabella dati stub, è possibile simulare il comportamento del metodo getAPR.

Nota: Se i valori di input si sovrappongono, il comportamento definito nell'insieme di dati sulla sinistra ha la precedenza. Ad esempio, se il primo insieme di dati contiene un intervallo da 1 a 20 e il secondo insieme un intervallo da 1 a 10, lo stub restituisce i valori specificati dal primo insieme di dati per l'intervallo 1-20 e ignora i valori specificati nel secondo insieme di dati.

La classe di codice utente stub

Un altro modo di definire il comportamento dello stub consiste nell'aggiungere il codice alla classe codice utente generata insieme allo stub. Tipicamente, il comportamento dello stub viene definito nella classe codice utente nei casi in cui questo non può essere eseguito nella tabella dati stub. Ad esempio, ciò potrebbe verificarsi nei casi che seguono:

Qualsiasi codice che viene aggiunto alla classe codice utente in relazione a un particolare metodo ha la precedenza sul comportamento specificato nella tabella dati stub.

Stub con JavaBeans Enterprise (EJBs)

È inoltre possibile utilizzare gli stub durante la verifica di bean di sessione. Ad esempio, nel caso in cui si desideri effettuare lo stub di un bean di sessione i cui metodi business non sono ancora completamente implementati. Nella maggior parte dei casi non è necessario effettuare lo stub dei bean entity poiché è possibile verificarli in modo isolato senza ricorrere agli stub.

Concetti correlati
Tabelle dati stub
La verifica componenti e l'editor Java

Attività correlate
Creazione di stub per componenti Java
Creazione di stub per i bean di sessione
Modifica degli stub in una suite di verifica
Inserimento di punti di inizializzazione
Inserimento di azioni di convalida
Inserimento di vincoli di tempo

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.