Uno dei maggiori problemi che mi stanno trattenendo dall'immersione totale ai test di unità è che una percentuale molto elevata del codice che scrivo dipende in larga misura da oggetti COM di terze parti provenienti da fonti diverse che tendono anche a interagire tra loro (Sto scrivendo componenti aggiuntivi per Microsoft Office utilizzando diverse librerie di supporto, se hai bisogno di sapere).Come si esegue il test del codice dell'unità con cui interagisce e si creano istanze di oggetti COM di terze parti?
So che probabilmente dovrei usare gli oggetti finti, ma come fare esattamente in questo caso? Riesco a vedere che è relativamente facile quando devo passare un riferimento a un oggetto già esistente ma alcune delle mie routine creano istanze di oggetti COM esterni e talvolta le passano a qualche altro oggetto COM esterno da una libreria diversa.
Qual è l'approccio migliore? Dovrei avere il mio codice di test per modificare temporaneamente le informazioni di registrazione COM nel registro in modo che il codice testato istanzia invece uno dei miei oggetti mock? Devo inserire unità di libreria di tipo modificato? Quali altri approcci ci sono?
Sarei particolarmente grato per esempi o strumenti per Delphi, ma sarei altrettanto felice con consigli più generali e spiegazioni di livello superiore altrettanto bene.
Grazie,
Oliver
concordato; e dal momento che tutte le interazioni con gli oggetti COM (ad eccezione delle chiamate di automazione tramite IDispatch) utilizzano un'interfaccia COM, dovresti essere in grado di implementare quelli nella tua classe di simulazione. – rpetrich