のモジュールをNode JS
に1つまたは2つ書きましたが、モジュールのテストは常にJavascript
になる傾向があります。これは有効なテスト戦略ですか、あるいはネイティブモジュールのコードをテストする(そしておそらくデバッグする)良い方法がありますか?ノードJS - C++プラグインのテスト戦略
1
A
答えて
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++をネイティブにデバッグすることができます。
関連する問題
- 1. ノードjs passport-facebook戦略セイルの認証
- 2. Webサービスのテスト戦略
- 3. バックエンドのポストグルのテスト戦略
- 4. Go for Mongodbのテスト戦略
- 5. Laravel web apiのテスト戦略
- 6. 統合テスト戦略リソース
- 7. デフォルト戦略の戦略パターン
- 8. 春ブートアプリケーションのテスト戦略のアドバイス
- 9. Passport-jsカスタム戦略の作成方法
- 10. 開発とオートグレーダーのpythonテスト戦略
- 11. Ruby on RailsとTwitterのテスト戦略OAuth
- 12. Couchbaseウォームアップの戦略
- 13. 戦略
- 14. ASP.Netのキャッシュバスター戦略
- 15. データベースプルーニングの戦略
- 16. UITableViewCellの戦略
- 17. C#戦略パターン設計の問題
- 18. ノードJS - NPMの問題プラグイン
- 19. PHPアンケートの戦略
- 20. ネストされたグループ化戦略/アルゴリズムC#
- 21. Railsフラグメントキャッシュ戦略
- 22. JIRAコンポーネント戦略
- 23. バックアップ戦略
- 24. Openlayers bbox戦略
- 25. ソフトウェアデザイン戦略
- 26. solrインデックス戦略
- 27. プロジェクト/コードリリース戦略
- 28. 集約戦略
- 29. Golangログ戦略
- 30. UMLデータフローダイアグラム戦略