Creerò un wrapper Managed-C++ attorno ad alcune funzioni C per consentirne l'utilizzo in altre soluzioni .NET. Sto cercando di fornire un wrapper molto minimalista, qualcosa come:Come posso testare un involucro gestito attorno al codice C?
Firma nell'intestazione C:
void DOSTH(const char*, short, long*);
Exposed interfaccia gestita:
public void doSomething(String^ input, short param, [Out] long^ %result);
Per fare ciò la mia soluzione avrà la C le intestazioni e faranno riferimento al file .dll che contiene l'API C compilata che sto costruendo contro.
Come un principiante di Visual Studio non sono sicuro di come testare l'unità. È possibile prendere in giro la .dll per fornire un'implementazione fittizia? C'è una biblioteca che renderebbe questo tipo di compito facile? C'è una particolare struttura di soluzione che dovrei cercare di semplificare?
Qualsiasi guida in questo settore sarebbe eccezionale. Le ricerche su Google mi hanno lasciato alla ricerca di maggiori informazioni sull'unità che testava un wrapper gestito.
Purtroppo no, quella parte è molto più semplice. Sto cercando un modo per testare il mio wrapper, non il codice che usa il mio wrapper. – Bringer128
Quindi dovresti aggiungere il tuo wrapper e la dll nativa al tuo progetto di test esattamente nello stesso modo in cui dovresti aggiungerlo a tutte le applicazioni che lo useranno in seguito. Personalmente cerco di evitare l'uso di assembly nativi quando possibile. I problemi con la distribuzione, le build (automatizzate), la piattaforma errata (x86 vs x64) e gli assembly nativi mancanti che causano il crash dell'applicazione in fase di esecuzione spesso non valgono la pena. –