我已經繼承了一個巨大的C++代碼庫與一些集成測試。這是一個將數據傳送到很多下游系統的關鍵系統。由於測試非常不可靠,我們的團隊無法自信地推動變更。單元測試使用Java的C++代碼
我們想在系統中引入一些測試,但大多數開發人員都具有Java背景。我們有什麼選擇?
1)瞭解C++
2)使用JNI:不知道如何輕鬆就是
我已經繼承了一個巨大的C++代碼庫與一些集成測試。這是一個將數據傳送到很多下游系統的關鍵系統。由於測試非常不可靠,我們的團隊無法自信地推動變更。單元測試使用Java的C++代碼
我們想在系統中引入一些測試,但大多數開發人員都具有Java背景。我們有什麼選擇?
1)瞭解C++
2)使用JNI:不知道如何輕鬆就是
使用JNI增加了另一層複雜性,仍然您將學習C++ - 我不會,如果推薦它你不想使用C++。
根據C++系統的不同,您可以選擇不同的測試策略。根據我的經驗,我有一個負責數據處理的系統,所有數據都通過網絡發送。在這種情況下,測試是在蟒蛇做:
我而言是一個幸運一個是因爲通信是通過網絡連接完成的(我們可以使用任何我們想要的語言)。
如果你不能使用除C++以外的其他任何東西,我認爲你將不得不在C++(而不是Java + JNI + C++)中使用它。
我建議你試試JNA,它不需要你編寫C或C++代碼。它比JNI慢,但對於不太可能成爲問題的測試。
備案:1是2的一個子集。無論如何你將學習C++。 – 2011-12-14 05:35:37
3)由於這些是集成測試,可能將C++代碼作爲一個獨立的進程調用,爲它提供測試數據並查看輸出內容 – Thilo 2011-12-14 05:36:14