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