C ++アプリケーションのエンドツーエンドテストフレームワーク

ロバート

C / C ++アプリケーションをテストしています。ほとんどのメソッドで、CppUTestを使用して単体テストを作成できました。しかし、そうでないものもいくつかあります。これらのメソッドもテストするために、統合/エンドツーエンドのテストを作成したいと思います。何をテストしたいのか

  • 正しい出力ファイルが生成されます

  • 貴重な引数については、適切なエラーメッセージが出力されます(これはコマンドラインツールです)

  • 正しい出力メッセージを表示します

私の質問は、このためのツールがあるかどうか、またはアプリケーションを呼び出したり、出力をキャプチャしたりするためのスクリプトを作成する必要があるかどうかです。はいの場合、これらのスクリプトを開始する方法は?CppUtestからそれらを呼び出しますか?

レネ

正しい出力をテストするいくつかの方法を知っています。

CMakeとCTestを使用する場合は、CTestを使用して、プログラムの出力を期待される出力と比較できます。(画面出力は通常のように)テキスト出力に対してのみ機能し、ランダムな数の時刻/日付などを出力する場合は機能しません。CMakeマニュエルでadd_test_output_check()を探します。

プログラムがハードコードされてstdoutに書き込まない場合は、std :: ostringstreamに合格し、その後、好みの単体テストフレームワークを使用して文字列の内容をテストできます。

最後になりましたが、dup2()を使用して、stdoutおよびstderrの他のファイル記述子を定義し、テストを実行して、最後にファイルの内容を確認することができます。

出力ファイルについては、参照出力ファイルを作成してから、このファイルの内容をテストによって生成されたファイルと比較する必要があると思います。両方のファイルをロードし、データに対してmemcmp()を実行するテスト関数を記述します。 。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カスタムパスワードテキストボックスC#Windowsアプリケーション

分類Dev

C#Windowsフォームのログインアプリケーションのパスワード

分類Dev

googletestテストフレームワークc ++:静的メソッドリンカーエラー

分類Dev

C#アプリケーション用の4.5から3.5への.netフレームワークのレトロマイグレーション

分類Dev

C# テキスト ボックスの短い日付形式の例外エラー、Windows フォーム アプリケーション

分類Dev

クエリの結果を複数回列挙することはできません(C#)(エンティティフレームワーク)(ストアドプロシージャ)

分類Dev

C#Webアプリケーション->すべてのリクエストをプロキシする->別のWebアプリケーションからコンテンツを返す(リバースプロキシ)

分類Dev

C#エンティティフレームワーク:オプションの1対1の関係

分類Dev

ネットワークインターフェイスタイプの検出に到達可能性フレームワークを使用しているときに、iOS(クロスプラットフォームC ++ライブラリソリューション)でエラーをビルドする

分類Dev

Obj-Cランドスケープオリエンテーション用の代替ストーリーボード

分類Dev

仮想キーボード(キーボードのようなスワイプ)WindowsフォームアプリケーションC#

分類Dev

C#での相互運用ワードアプリケーションエラー

分類Dev

C#ウィンドウフォームアプリケーションのリソースパス?

分類Dev

C#エンティティフレームワーク:子エンティティの挿入と親の更新、1つのトランザクション

分類Dev

Unityでのリンカーエラー(Cユニットテストフレームワーク)

分類Dev

Cでのリンクリスト操作(セグメンテーションエラーコアダンプ!)

分類Dev

C#ストロングネームアセンブリリフレクションロードインターフェイスキャストの問題

分類Dev

ASP.NET/C#-エンティティフレームワーク-クラス-スケルトンメソッド

分類Dev

C#WindowsフォームアプリケーションのVLCドットネットフォームにシークバーを追加する方法

分類Dev

C#エンティティフレームワークとオブジェクトのリスト

分類Dev

コンソールアプリケーションからのc#ディスプレイウィンドウフォーム

分類Dev

C#ASP.NET MVCLINQエンティティフレームワークの2つのリストの比較

分類Dev

C#のWindowsフォームアプリケーションのストアドプロシージャからDataGridViewにデータを表示する

分類Dev

C#Windowsフォームのアプリケーションをfirebirdデータベース(LANネットワーク)に接続します

分類Dev

Swiftフレームワークをobjective-cアプリケーションに統合する

分類Dev

フレームワークなしでアプリケーションC#を作成することが可能

分類Dev

C#エンティティフレームワーク(コードファースト)、モデルでのCRUD操作の実装

分類Dev

C# アプリケーション ストアの電子メール/パスワードを安全に / ハードコードしない

分類Dev

XAMLファイルではなくアプリケーションのC#バックエンドにアプリケーションリソースを追加するにはどうすればよいですか?

Related 関連記事

  1. 1

    カスタムパスワードテキストボックスC#Windowsアプリケーション

  2. 2

    C#Windowsフォームのログインアプリケーションのパスワード

  3. 3

    googletestテストフレームワークc ++:静的メソッドリンカーエラー

  4. 4

    C#アプリケーション用の4.5から3.5への.netフレームワークのレトロマイグレーション

  5. 5

    C# テキスト ボックスの短い日付形式の例外エラー、Windows フォーム アプリケーション

  6. 6

    クエリの結果を複数回列挙することはできません(C#)(エンティティフレームワーク)(ストアドプロシージャ)

  7. 7

    C#Webアプリケーション->すべてのリクエストをプロキシする->別のWebアプリケーションからコンテンツを返す(リバースプロキシ)

  8. 8

    C#エンティティフレームワーク:オプションの1対1の関係

  9. 9

    ネットワークインターフェイスタイプの検出に到達可能性フレームワークを使用しているときに、iOS(クロスプラットフォームC ++ライブラリソリューション)でエラーをビルドする

  10. 10

    Obj-Cランドスケープオリエンテーション用の代替ストーリーボード

  11. 11

    仮想キーボード(キーボードのようなスワイプ)WindowsフォームアプリケーションC#

  12. 12

    C#での相互運用ワードアプリケーションエラー

  13. 13

    C#ウィンドウフォームアプリケーションのリソースパス?

  14. 14

    C#エンティティフレームワーク:子エンティティの挿入と親の更新、1つのトランザクション

  15. 15

    Unityでのリンカーエラー(Cユニットテストフレームワーク)

  16. 16

    Cでのリンクリスト操作(セグメンテーションエラーコアダンプ!)

  17. 17

    C#ストロングネームアセンブリリフレクションロードインターフェイスキャストの問題

  18. 18

    ASP.NET/C#-エンティティフレームワーク-クラス-スケルトンメソッド

  19. 19

    C#WindowsフォームアプリケーションのVLCドットネットフォームにシークバーを追加する方法

  20. 20

    C#エンティティフレームワークとオブジェクトのリスト

  21. 21

    コンソールアプリケーションからのc#ディスプレイウィンドウフォーム

  22. 22

    C#ASP.NET MVCLINQエンティティフレームワークの2つのリストの比較

  23. 23

    C#のWindowsフォームアプリケーションのストアドプロシージャからDataGridViewにデータを表示する

  24. 24

    C#Windowsフォームのアプリケーションをfirebirdデータベース(LANネットワーク)に接続します

  25. 25

    Swiftフレームワークをobjective-cアプリケーションに統合する

  26. 26

    フレームワークなしでアプリケーションC#を作成することが可能

  27. 27

    C#エンティティフレームワーク(コードファースト)、モデルでのCRUD操作の実装

  28. 28

    C# アプリケーション ストアの電子メール/パスワードを安全に / ハードコードしない

  29. 29

    XAMLファイルではなくアプリケーションのC#バックエンドにアプリケーションリソースを追加するにはどうすればよいですか?

ホットタグ

アーカイブ