Condividi tramite


Procedura dettagliata: creazione ed esecuzione di uno unit test di Smart Device

Aggiornamento: novembre 2007

In questa procedura dettagliata viene illustrato come creare, eseguire e personalizzare una serie di test utilizzando Strumenti di test Team System°per i progetti per dispositivi. Si partirà da un'applicazione per Smart Device C# in via di sviluppo, quindi si creerà un progetto di test, si creerà uno unit test, si eseguirà il test e si analizzeranno i risultati.

Nota:

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

In questa procedura dettagliata verranno completate le seguenti attività:

  • Aprire un progetto esistente e creare un metodo.

  • Creare uno unit test e un progetto di test per dispositivi.

  • Visualizzare la configurazione di esecuzione.

  • Eseguire uno unit test.

  • Eseguire uno unit test da un prompt dei comandi.

Prerequisiti

Prima di iniziare questa procedura dettagliata, è necessario completare le procedure descritte in Procedura dettagliata: creazione di applicazioni Windows Form per un dispositivo. La procedura dettagliata dei prerequisiti consente di installare .NET Compact Framework 2.0 nell'emulatore di Pocket PC 2003 richiesto per completare questa procedura dettagliata. Lasciare aperta la finestra dell'emulatore o salvare lo stato dell'emulatore. Per ulteriori informazioni, vedere la classe File dello stato salvato.

Aprire un progetto esistente e creare un metodo

Per aprire il progetto esistente e creare un metodo

  1. Avviare Visual Studio.

  2. Scegliere Apri dal menu File, quindi fare clic su Progetto/Soluzione.

    Verrà visualizzata la finestra di dialogo Apri progetto.

  3. Passare al progetto DeviceSample creato nella procedura dettagliata indicata come prerequisito, quindi scegliere OK.

    Il progetto DeviceSample verrà visualizzato in Esplora soluzioni.

  4. Fare clic con il pulsante destro del mouse su Form1.cs (C#) o Form1.vb (Visual Basic) in Esplora soluzioni, quindi scegliere Visualizza codice per aprire il file nell'editor di codice.

  5. Posizionare il cursore nella classe Form1.

  6. Inserire il codice seguente:

    public int Add(int a, int b) {return a + b;}
    
    Public Function Add(ByVal a As Integer, ByVal b As Integer) As Integer 
        Return a + b
    End Function 'Add
    
  7. Scegliere Compila soluzione dal menu Compila.

    A questo punto si dispone di un progetto denominato DeviceSample che contiene il codice sorgente da testare. Lo spazio dei nomi di DeviceSample, DeviceSample, contiene la classe pubblica Form1, il cui metodo sarà testato nelle procedure seguenti.

Creare uno unit test e un progetto di test per dispositivi

Per creare uno unit test e un progetto di test per dispositivi

  1. Fare clic con il pulsante destro del mouse su Form1.cs (C#) o Form1.vb (Visual Basic) in Esplora soluzioni, quindi scegliere Visualizza codice per aprire il file nell'editor di codice.

    Nota:

    Il progetto DeviceSample contiene il codice da testare, denominato anche codice sotto test.

  2. Nella classe Form1 scorrere fino al metodo Add.

  3. Fare clic con il pulsante destro del mouse sul metodo Add, quindi scegliere Crea unit test.

    Verrà visualizzata la finestra di dialogo Crea unit test.

    Nel riquadro Selezione corrente, in una struttura ad albero viene visualizzata la gerarchia delle classi e dei membri dell'assembly che contiene la classe Form1. È possibile utilizzare questa pagina per generare unit test per qualsiasi selezione di membri e scegliere un progetto di test in cui si desidera inserire gli unit test generati.

    Nella struttura ad albero è selezionato solo il metodo Add. Lasciarlo selezionato.

  4. Per Progetto di output, fare clic su Crea un nuovo Progetto di test Visual C# Smart Device.

    Nota:

    Non è necessario che il linguaggio del progetto di test corrisponda a quello del progetto. È ad esempio possibile creare un progetto di test per Smart Device Visual C# in un progetto per dispositivi Visual Basic.

  5. Fare clic su Impostazioni.

    Verrà visualizzata la finestra di dialogo Impostazioni di generazione test. Nel gruppo Impostazioni di denominazione è possibile modificare il metodo di assegnazione dei nomi di file, classi e metodi di test generati. Nel gruppo Generale è possibile modificare altri aspetti della generazione del test. Non alterare i valori predefiniti per queste impostazioni e fare clic su OK.

  6. Nella finestra di dialogo Genera unit test scegliere OK.

    Verrà visualizzata la finestra di dialogo Nuovo progetto di test.

  7. Accettare il nome predefinito e fare clic su Crea.

    In questo modo verrà creato un progetto denominato TestProject1, che include lo unit test, un file denominato DeviceSample.vsmdi contenente informazioni sui test e gli elenchi dei test e un file denominato SmartDeviceTestRun.testrunConfig contenente informazioni su dove e come eseguire il test.

    A tale progetto di test viene aggiunto un file denominato Form1Test.cs, contenente una classe di test.

    Nota:

    A ogni metodo di test viene automaticamente assegnato l'attributo TestMethod(). Ogni test corrisponde a un singolo metodo nel codice sotto test che si desidera testare. I metodi di test sono contenuti in una classe di test a cui è assegnato l'attributo TestClass().

  8. In Form1Test.cs specificare i valori per le variabili da testare. Scorrere fino al metodo AddTest dove sono visualizzate tre righe // TODO che indicano le variabili da impostare, ovvero a, b ed expected.

  9. Impostare i seguenti valori:

    int a = 4;
    int b = 5;
    int expected = 9;
    

    Questo specifica che quando si chiama il metodo con i valori 4 e 5 è previsto un valore restituito 9.

  10. Impostare come commento l'istruzione Assert.

    Assert.Inconclusive("Verify the correctness of this test method.");
    

    L'istruzione Assert rimanente consente di confrontare il risultato previsto (9) con il risultato effettivo di una chiamata al metodo Add della classe Form1. Se i due valori sono diversi, Assert restituisce False e il test ha esito negativo.

  11. Salvare il file Form1Tests.cs.

    È stato creato un file di codice sorgente contenente i test per il progetto DeviceSample. È quindi possibile eseguire i test nella classe Form1Test nel codice del progetto DeviceSample.

Visualizzare la configurazione di esecuzione

Per visualizzare la configurazione di esecuzione

  1. Fare doppio clic sul file denominato SmartDeviceTestRun.testrunConfig in Esplora soluzioni.

  2. Fare clic su Hosts.

  3. Verificare che Host type sia impostato su Smart Device, Platform sia impostato su Pocket PC 2003 e Device sia impostato su Pocket PC 2003 SE Emulator.

  4. Fare clic su Chiudi per uscire.

    È stata visualizzata la configurazione di esecuzione che specifica il contesto per l'esecuzione di test.

Eseguire uno unit test

Per eseguire e personalizzare uno unit test

  1. Scegliere Finestre dal menu Test, quindi fare clic su Visualizzazione test.

    Verrà visualizzata la finestra Visualizzazione test.

  2. Fare clic con il pulsante destro del mouse su Aggiungi test, quindi scegliere Esegui selezione.

    Tramite Visual Studio il test verrà distribuito all'emulatore di dispositivo ed eseguito. Verrà aperta la finestra Risultati test, se non è giù visualizzata.

    Durante l'esecuzione del test nella colonna Risultato della finestra Risultati test lo stato del test viene indicato come In esecuzione. Al termine dell'esecuzione del test, il risultato del test cambierà per indicare che il test ha avuto esito positivo.

    Nota:

    Quando si distribuiscono test, tramite Visual Studio non viene automaticamente distribuito e installato .NET Compact Framework o SQL Server Compact 3.5 nell'emulatore o nel dispositivo di destinazione. Questi programmi devono essere installati nell'emulatore o nel dispositivo in uso prima di eseguire un test. Per ulteriori informazioni, vedere Procedura: installare .NET Compact Framework in un dispositivo°e Procedura: installare SQL Server Compact 3.5 in un dispositivo.

  3. Nella finestra Risultati test fare doppio clic sulla riga che rappresenta il test.

    Verrà aperta la pagina Dettagli risultati del test contenente le informazioni sui risultati del test.

    È stato eseguito il metodo AddTest generato della classe di test Form1Test e sono stati visualizzati i risultati.

Eseguire uno unit test da un prompt dei comandi

Per eseguire e personalizzare uno unit test

  1. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft Visual Studio 2008, Visual Studio Tools, quindi Prompt dei comandi di Visual Studio 2008.

    Il prompt dei comandi verrà aperto alla cartella: unità:\Programmi\Microsoft Visual Studio 9.0\VC.

  2. Passare alla cartella contenente l'assembly compilato dal progetto di test.

    A tale scopo, passare prima alla cartella della soluzione. Per la soluzione DeviceSample creata nella procedura dettagliata indicata come prerequisito, questa cartella è: unità:\Users\nomeutente\Documenti\Visual Studio\Projects\DeviceSample. Passare quindi alla cartella del progetto di test digitando il seguente comando al prompt dei comandi:

    cd TestProject1\bin\Debug

    Nota:

    È anche possibile eseguire MSTest.exe da qualsiasi cartella specificando i percorsi completi.

    In questa cartella è contenuto il progetto del test creato nelle procedure per la creazione e l'esecuzione di unit test. L'assembly del progetto di test, TestProject1.dll, contiene un numero limitato di unit test.

    Nota:

    Il progetto del codice di produzione e il progetto del test produrranno assembly separati. Assicurarsi di eseguire l'utilità della riga di comando nell'assembly del progetto di test e non nell'assembly del progetto del codice di produzione.

  3. Utilizzare l'utilità della riga di comando per testare l'applicazione.

    Digitare quanto segue al prompt dei comandi:

    MSTest /testcontainer:TestProject1.dll /runconfig:..\..\..\SmartDevicetestrun.testrunconfig

    Nota:

    Quando si eseguono unit test in dispositivi Smart Device, è necessario specificare l'opzione /runconfig.

    Questo comando consente di eseguire tutti i test nell'assembly e restituisce un risultato simile al seguente:

    Caricamento di testproject1.dll in corso...

    Avvio esecuzione in corso...

    Risultati Test di primo livello

    ------- ---------------

    Superato TestProject1.Form1Test.AddTest

    Test superati: 1/1

    Riepilogo

    -------

    Esecuzione dei test completata

    Superato 1

    ---------

    Totale 1

    File di risultati: <percorso>\<nome esecuzione dei test>.trx

    Configurazione di esecuzione: Configurazione di esecuzione predefinita

    Nota:

    Il file con estensione trx generato dall'esecuzione di mstest.exe può essere aperto in Visual Studio per analizzare ulteriormente i risultati del test. Per ulteriori informazioni su tutte le opzioni che è possibile utilizzare con il comando MSTest, vedere Opzioni della riga di comando di MSTest.exe.

    L'utilità da riga di comando MSTest.exe è particolarmente utile per l'automatizzazione delle esecuzioni dei test da avviare da file batch o altre utilità.

Vedere anche

Concetti

Framework per unit test

Altre risorse

Utilizzo di unit test

Strumenti di test per progetti per Smart Device