In questa sezione verranno modificati elementi Java nel workbench.
Per aprire il file junit.samples.VectorTest.java nell'editor Java, fare doppio clic sul file nella visualizzazione Explorer pacchetti.
Si osservi l'evidenziazione della sintassi. Di seguito sono riportati esempi di parti di origine java che vengono rese in maniera diversa:
Esaminare la visualizzazione Struttura.
Visualizza la struttura del file Java che include la dichiarazione di pacchetto, le dichiarazioni di importazione, i campi, i tipi e i metodi.
La visualizzazione Struttura indica anche se un elemento Java è statico, astratto, finale e così via. La visualizzazione Struttura indica anche se un metodo viene sovrascritto da una classe base () oppure quando implementa un metodo da un'interfaccia(
).
Per applicare un filtro alla visualizzazione, attivare o disattivare i pulsanti Hide Fields, Nascondi i membri statici e Nascondi membri non pubblici.
Attivare o disattivare il pulsante Ordina nella visualizzazione Struttura per disporre gli elementi Java in ordine alfabetico piuttosto che nell'ordine in cui sono visualizzati nel file Java.
E possibile modificare il codice sorgente visualizzando l'intero file Java oppure restringere la visualizzazione a un singolo elemento Java. Fare clic sul pulsante Mostra solo origine dell'elemento selezionato nella barra degli strumenti.
Quindi, nella visualizzazione Struttura, selezionare un elemento. Si osservi come nell'editor Java viene visualizzato solo l'elemento selezionato.
Fare nuovamente clic sul pulsante Mostra solo origine dell'elemento selezionato per visualizzare l'intero file Java.
Si osservi come, selezionando elementi diversi nella visualizzazione Struttura, questi vengono visualizzati nuovamente nell'editor in una visualizzazione di file completa. La selezione della visualizzazione Struttura viene, ora, indicata con un indicatore di intervallo sul righello verticale sul margine sinistro dell'editor Java.
Assicurarsi che il pulsante Ordine alfabetico sulla barra degli strumenti della visualizzazione Struttura sia disattivato.
Nell'editor Java cominciare ad aggiungere un metodo immettendo quanto segue alla fine del file VectorTest.java (prima delle parentesi di chiusura del tipo):
public void testSizeIsThree() {
Appena si digita il nome del metodo nell'area dell'editor, viene visualizzato il nuovo metodo nella parte inferiore della visualizzazione Struttura.
Fare clic sul pulsante Salva.
L'unità di compilazione viene compilata automaticamente e gli errori vengono visualizzati nella visualizzazione Explorer pacchetti, nella visualizzazione Barra degli strumenti e sul righello verticale. Nella visualizzazione Explorer pacchetti, gli errori si propagano al progetto dell'unità di compilazione che li contiene.
Completare il nuovo metodo immettendo quanto segue:
assertTrue(fFull.size() == 3); }
Salvare il file.
Gli indicatori degli errori scompaiono.
In questa sezione, si utilizzerà la funzione della cronologia locale per passare alla versione salvata in precedenza di un singolo elemento Java.
Eliminare il metodo appena creato selezionandolo nella visualizzazione Struttura e facendo clic su Elimina nel menu di scelta rapida.
Aggiungere una nuova versione del metodo immettendo quanto segue alla fine del file VectorTest.java nell'editor Java:
public void testSizeIsThree() { fFull.add(0, new Integer(0)); fFull.remove(new Integer(3)); assertTrue(fFull.size() == 3); }
Salvare il file.
Nella visualizzazione Struttura, selezionare il metodo testSizeIsThree()
, e scegliere Sostituisci da cronologia locale dal relativo menu di scelta rapida.
Nella finestra di dialogo Sostituisci elemento Java dalla cronologia locale, l'elenco Cronologia locale mostra i diversi stati salvati dell'elemento. Il riquadro Confronta origine Java mostra in dettaglio le differenze tra la risorsa selezionata della cronologia e la risorsa del workbench esistente.
Nel riquadro Cronologia locale, selezionare la versione eliminata, quindi fare clic sul pulsante Sostituisci.
Nell'editor Java, il metodo viene sostituito con la versione della cronologia selezionata.
Salvare il file.
Aprire il file junit.samples.VectorTest.java nell'editor Java.
Passare al metodo testSizeIsThree()
selezionandolo nella visualizzazione Struttura.
Aggiungere le righe riportate di seguito alla fine del metodo:
Vector v = new Vector(); for (int i=0; i<3; i++) v.addElement(new Object()); assert
Posizionando il cursore alla fine della parola assert
,
premere Ctrl+Barra spaziatrice per attivare Content Assist.
Verrà visualizzata la finestra Content Assist con un elenco delle proposte. Scorrere l'elenco per visualizzare le scelte disponibili.
Con la finestra Content Assist attiva, immettere la lettera 't' dopoassert
(senza interporre alcuno spazio).
In questo modo si restringe l'elenco alle voci che cominciano con la parola 'assert'.
Selezionare e passare con il cursore su diverse voci dell'elenco per visualizzare qualsiasi aiuto Javadoc disponibile per ciascuna voce.
Selezionare assertTrue(boolean)
dall'elenco e premere Invio.
Viene inserito il codice per il metodo assertTrue(boolean)
.
Completare la riga come segue:
assertTrue(v.size() == fFull.size());
Salvare il file.
Aprire il file junit.samples.VectorTest.java nell'editor Java.
Cominciare ad aggiungere un nuovo metodo immettendo quanto segue:
public void testValues() { Integer[] expected= new Integer[3]; for
Posizionando il cursore dopo la parola for
, premere Ctrl+Barra spaziatrice per attivare Content Assist.
Scegliere la voce for - iterate over array
.
Il modello viene inserito nell'editor e viene evidenziato i
.
Il nome della matrice locale viene individuato automaticamente.
Premere Invio per confermare il modello.
Completare il ciclo for
:
public void testValues() { Integer[] expected= new Integer[3]; for (int i= 0; i < expected.length; i++) { expected[i]= i + 1; } Integer[] actual= to
Posizionando il cursore alla fine della parola to
, premere Ctrl+Barra spaziatrice per attivare Content Assist. Selezionaretoarray - convertire la raccolta in matrice
.
Il modello viene inserito nell'editor e viene evidenziato e selezionato type
.
Sovrascrivere la selezione immettendo Integer
.
Il tipo del costruttore della matrice viene modificato in contemporanea.
Immettere Tab per evidenziare e selezionarecollection
e sovrascrivere la selezione immettendo fFull
.
Premere Invio per confermare il modello.
Aggiungere le righe di codice riportate di seguito per completare il metodo:
assertEquals(expected.length, actual.length); for (int i= 0; i < actual.length; i++) assertEquals(expected[i], actual[i]); }
Salvare il file.
Aprire il file junit.samples.VectorTest.java nell'editor Java.
Eliminare le dichiarazioni di importazione selezionandole nella visualizzazione Struttura e selezionando Elimina dal menu di scelta rapida.
Dal menu di scelta rapida nell'editor, selezionare Organizza importazioni.
Le istruzioni di importazione necessarie vengono aggiunte nella parte iniziale del codice, al di sotto della dichiarazione del pacchetto.
In alternativa, è possibile richiamare Organizza importazioni direttamente dal menu di scelta rapida della dichiarazione di importazione nella visualizzazione Struttura.
Nota: è possibile specificare l'ordine delle dichiarazioni di importazione in Preferenze (Finestra > Preferenze > Java > Organizza importazioni).
Salvare il file.
In questa sezione verrà migliorato il codice del costruttore di junit.framework.TestSuite. Per rendere maggiormente chiaro lo scopo del codice, il codice che raccoglie i tipi di test da classi base verrà estratto e inserito in un nuovo metodo denominato collectTestMethods.
Nel file junit.framework.TestSuite.java, selezionare la seguente sezione di codice:
Class superClass= theClass; Vector names= new Vector(); while (Test.class.isAssignableFrom(superClass)) { Method[] methods= superClass.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { addTestMethod(methods[i], names, constructor); } superClass= superClass.getSuperclass(); }
Selezionare l'intervallo di codice utilizzando la funzioneEspandi selezione a:
TestSuite(Class)
.while
.Dal menu di scelta rapida della selezione nell'editor, selezionare Refactor > Estrai metodo....
Nel campo Nome metodo, digitare collectInheritedTests e fare clic su Avanti.
La pagina di anteprima della funzione di refactoring visualizza le modifiche che verranno apportate.
Premere Fine per estrarre il metodo.
Passare al metodo estratto selezionandolo nella visualizzazione Struttura.
Aprire il file junit.samples.money.MoneyTest.java nell'editor Java.
Sulla prima riga della dichiarazione di classe MoneyTest, selezionare la specifica della superclasse TestCase, quindi
Nota: questo comando funziona anche per metodi e campi.
La superclasse TestCase viene aperta nell'area di editor ed è anche rappresentata nella visualizzazione Struttura.
Fare clic sulla scheda dell'editor TestCase.java per attivare questo editor. Assicurarsi che la dichiarazione di classe sia ancora selezionata e:
Viene aperta la visualizzazione Gerarchia contenente la classe TestCase.
Nota: è anche possibile aprire editor sui tipi e metodi presenti nella visualizzazione Gerarchia.
Visualizzazioni Java
Editor Java
Supporto refactoring
Modelli
Utilizzo dell'editor Java
Visualizzazione o occultamento degli elementi
Visualizzazione di singoli elementi o interi file Java
Ordinamento degli elementi nelle visualizzazioni Java
Utilizzo della cronologia locale
Utilizzo di Content Assist
Utilizzo dei modelli
Gestione delle istruzioni di importazione
Refactoring
Refactoring con anteprima
Utilizzo della visualizzazione Gerarchia
Apertura di una Gerarchia dei tipi su un elemento Java
Apertura di una Gerarchia dei tipi sulla selezione del testo corrente
Apertura di un editor per un elemento selezionato
Visualizzazione Struttura Java
Content Assist Java
Preferenze dei modelli
Preferenze di Organizza importazioni
Preferenze dell'editor Java
Errori di estrazione del metodo
Visualizzazione Gerarchia tipi