0
我有一個用C++編寫的庫,我想通過interop從C#進行端到端測試。基本上這個庫需要一些參數並在另一端吐出一個文件。我想將請求傳遞給com互操作,然後聲明所有數據都正確寫入文件。在託管代碼中集成測試NUnit的C++代碼
可以做到這一點嗎?有更容易的方法嗎?使用pinvoke什麼的?
謝謝
我有一個用C++編寫的庫,我想通過interop從C#進行端到端測試。基本上這個庫需要一些參數並在另一端吐出一個文件。我想將請求傳遞給com互操作,然後聲明所有數據都正確寫入文件。在託管代碼中集成測試NUnit的C++代碼
可以做到這一點嗎?有更容易的方法嗎?使用pinvoke什麼的?
謝謝
我會使用C++/CLI將.net測試和本機C++代碼粘合在一起。
它運作良好,足以在實踐中:我在幾個月前也有類似的問題 - 想驗證我寫一個C++協議庫將與現有的Java實現互操作。爲此,我使用C++/CLI的精簡C++代碼,將Java構建爲J#,並使用C#編寫測試。
所以當你說使用C++將它們粘合在一起時,你的意思是創建一個C++類來調用被測試的系統並用於執行必要的斷言? 你能詳細解釋一下你是如何實現它的嗎? – 2009-09-19 00:41:29
C++/CLI層是一個帶有靜態方法的類,它簡單地將調用委託給本地API(並且做了任何必要的事情,如將傳入的CLR類型轉換爲本地 - 主要是System :: Byte [] ^到char [])。 C#單元測試隨後稱爲C++/CLI類與J#類不兼容。 – 2009-09-19 08:47:52