2011-12-14 25 views
5

我已經繼承了一個巨大的C++代碼庫與一些集成測試。這是一個將數據傳送到很多下游系統的關鍵系統。由於測試非常不可靠,我們的團隊無法自信地推動變更。單元測試使用Java的C++代碼

我們想在系統中引入一些測試,但大多數開發人員都具有Java背景。我們有什麼選擇?

1)瞭解C++

2)使用JNI:不知道如何輕鬆就是

+1

備案:1是2的一個子集。無論如何你將學習C++。 – 2011-12-14 05:35:37

+0

3)由於這些是集成測試,可能將C++代碼作爲一個獨立的進程調用,爲它提供測試數據並查看輸出內容 – Thilo 2011-12-14 05:36:14

回答

2

使用JNI增加了另一層複雜性,仍然您學習C++ - 我不會,如果推薦它你不想使用C++。

根據C++系統的不同,您可以選擇不同的測試策略。根據我的經驗,我有一個負責數據處理的系統,所有數據都通過網絡發送。在這種情況下,測試是在蟒蛇做:

  1. 我們檢查
  2. 我們檢查處理過的數據有效性協議給予一定的輸入(也被控制在python)

我而言是一個幸運一個是因爲通信是通過網絡連接完成的(我們可以使用任何我們想要的語言)。

如果你不能使用除C++以外的其他任何東西,我認爲你將不得不在C++(而不是Java + JNI + C++)中使用它。

0

我建議你試試JNA,它不需要你編寫C或C++代碼。它比JNI慢,但對於不太可能成爲問題的測試。