2011-12-14 7 views
5

私は巨大なC++コードベースをいくつかの統合テストで継承しました。これは、多くの下流のシステムにデータを供給する重要なシステムです。テストは非常に信頼性が低いため、チームは自信を持って変更をプッシュできません。ユニットテストJavaを使用したC++コード

システムにいくつかのテストを導入したいが、ほとんどの開発者はJavaの背景を持っている。どのような選択肢がありますか?

1)を学ぶC++

2)使用JNI:それはJNIを使​​用して

+1

レコードの場合:1は2のサブセットです。何があってもC++を習得します。 –

+0

3)これらは統合テストなので、別のプロセスとしてC++コードを呼び出し、テストデータを入力して出力を確認してください。 – Thilo

+0

JNAの使用を検討しましたか? JNIよりも遅いですが、C++コードを記述することなくC++メソッドを呼び出すことができます。 –

答えて

2

がいかに簡単であるかを確認してください複雑さの別の層を追加し、まだあなた C++を学ぶわけではありません - 場合、私はそれをお勧めしませんあなたはC++を使いたくありません。

C++システムに応じて、さまざまなテスト戦略を選択できます。私の経験では、データ処理を担当するシステムがあり、すべてのデータはネットワーク経由で送られました。この場合、テストはPythonで行われた:我々は(もPythonで制御される)特定の入力

私の場合はラッキーだった与えられた

  • は、我々が処理されたデータの妥当性をチェックするプロトコルを確認
    1. 通信はネットワーク接続を介して行われていたからです(文字通り、どんな言語でも使用できました)。

      C++以外のものを使用できない場合は、C++(Java + JNI + C++ではなく)で行う必要があると思います。

    +0

    私はラッキーではない:( – NRS

    0

    JNAは、CまたはC++コードを書く必要はありません。 JNIより遅いですが、問題になる可能性の低いテストではありません。

    関連する問題