Condividi tramite


Unit test e C++

Aggiornamento: novembre 2007

È possibile utilizzare unit test in Visual C# e Visual Basic.

Nota:

Per i tipi e i metodi generici in Visual C# e Visual Basic si applicano alcune restrizioni. Per ulteriori informazioni, vedere Unit test e generics.

È anche possibile utilizzare unit test in Visual C++ in base alle specifiche descritte in questo argomento.

Il modo in cui utilizzare Visual C++ con unit test dipende dal ruolo di Visual C++ all'interno della soluzione. I casi possibili sono i seguenti:

  • Gli unit test vengono utilizzati per testare il codice scritto in Visual C++. Per informazioni, vedere Codice di produzione in Visual C++.

  • Il progetto del test contiene unit test scritti in Visual C++. Per informazioni, vedere Progetti di test e Visual C++.

  • È stato pianificato di generare automaticamente unit test dal codice scritto in Visual C++. Per informazioni, vedere Generazione del codice e Visual C++.

Codice di produzione in Visual C++

Di seguito sono riportate importanti indicazioni sul codice che si desidera testare, qui indicato come codice di produzione.

  • Non gestito. Se il codice di produzione è non gestito, è necessario poterlo chiamare da una libreria statica, un file .obj o un punto di ingresso di una DLL. I metodi di classe incorporati in un file eseguibile o in una DLL non potranno essere utilizzati perché Visual C++ non gestito non offre il meccanismo di rilevamento di runtime, la reflection. Quindi, sarà possibile utilizzare solo i meccanismi di associazione nativi tradizionali.

  • Misto. Un progetto misto è un progetto in cui viene utilizzata l'opzione di compilazione /clr. Se il codice di produzione è misto, e non è un file eseguibile, è possibile chiamare e testare tutti i metodi disponibili del codice.

  • Safe o Pure. Se il codice di produzione è sicuro o pure, è possibile chiamare e testare tutti i metodi di assembly disponibili, in un file eseguibile o in una DLL.

Progetti di test e Visual C++

Il progetto di test dispone di capacità diverse in base alle opzioni di compilazione impostate per il progetto. Per ulteriori informazioni, vedere Opzioni del compilatore e /clr (Compilazione Common Language Runtime). Nelle seguenti sezioni vengono descritte le capacità disponibili per le varie impostazioni delle opzioni di compilazione.

Non gestito

Non è possibile utilizzare Visual C++ non gestito o nativo come il linguaggio di programmazione per un progetto di test.

Misto

Un progetto misto è un progetto in cui viene utilizzata l'opzione di compilazione /clr. Questo tipo di progetto di test consente di eseguire il test del seguente codice di produzione:

  • Librerie native statiche

  • Punti di ingresso di DLL native

  • File .obj autonomi

  • Assembly di DLL di modalità mista con metodi che è possibile chiamare. Non sono inclusi i file eseguibili perché contengono codice non gestito e il codice eseguibile non gestito è generalmente non abilitato per un nuovo indirizzo di base.

  • Tutti i metodi gestiti possono essere chiamati. Si tratta del codice compilato con le opzioni di compilazione /clr:pure o /clr:safe.

Safe o Pure

Se si utilizzano le opzioni di compilazione /clr:pure o /clr:safe nel progetto di test, è possibile testare tutti i metodi gestiti che è possibile chiamare. Ciò vuol dire che il codice di produzione viene compilato con l'opzione di compilazione /clr, /clr:pure o /clr:safe.

Generazione del codice e Visual C++

È possibile generare unit test in un progetto di test Visual C++. È possibile generare questi test da un progetto di codice di produzione Visual C++. Di seguito sono riportate indicazioni importanti:

  • Progetto del codice di produzione. Se il codice di produzione è scritto in Visual C++, è possibile generare unit test solo se il prodotto utilizza l'opzione di compilazione /clr:safe. 

  • Progetto di test. La generazione del codice può creare unit test in qualsiasi tipo di progetto di test Visual C++: misto, sicuro e pure. Il tipo di progetto predefinito prodotto è un progetto /clr:safe. Se si desidera modificare il progetto in /clr o /clr:pure, è possibile farlo in qualsiasi momento utilizzando le opzioni di compilazione di Visual C++. Per ulteriori informazioni, vedere /clr (Compilazione Common Language Runtime).

Vedere anche

Attività

Procedura: modificare unit test

Concetti

Unit test e generics

Riferimenti

Opzioni del compilatore