2016-09-26 5 views
1

のモジュールをNode JSに1つまたは2つ書きましたが、モジュールのテストは常にJavascriptになる傾向があります。これは有効なテスト戦略ですか、あるいはネイティブモジュールのコードをテストする(そしておそらくデバッグする)良い方法がありますか?ノードJS - C++プラグインのテスト戦略

答えて

1

純粋主義者はおそらく、「ユニット」テストではなく、「統合」テストであると言います。しかし私は個人的には気にしません。実際にあなたのモジュールとしてとなります。この点もテストするのが理にかなっています。すべてのテストがこのように行われた場合、JS-> C++呼び出しを本当に完全にテストします。

だから私はこれが有効な戦略だと思います。それが十分に速い場合(JS-> C++テストスイートのオーバーヘッドは1秒以下です)、私はそれに留まります。

JSテストスイートが遅い場合、私は再考し、いくつかのC++フレームワーク(モジュールのパブリックAPIのC++部分を呼び出す)で純粋なC++単体テストを追加します。

(私は個人的には最初のものとしてhttps://github.com/unittest-cpp/unittest-cppを試してみましたが、構文と "複雑さ"の両方が大好きで、速く、依存性がなく、以前のすべての "暖かい"モード小さなC++の変更や再実行テストを行うには、通常、コンパイル+実行(〜数百の簡単なテスト)+表示結果)を実行するのに約0.5秒かかります。

これを行うと、C++だけでなく、JSから呼び出したときにもモジュールが動作することを確認するために、JS側でいくつかの統合テストを行う必要があります。

純粋なC++をJSとは別にコンパイルして実行する方法については、環境設定によって異なりますが、別のIDEを使用してC++ソースを扱います。これは、私ももちろんC++をネイティブにデバッグすることができます。