Googleユニットテストを使用してC++によるテーブル印刷をテストできますか?Googleユニットテストでテーブル印刷を確認する
他のユニットテストフレームワークで行うことはできますか?
これまでのところ、A quick introduction to the Google C++ Testing Frameworkでは値のテストしか表示されません。 Googleの模擬テストを使用して配列をテストする方法については、Thisの質問があります。
Googleユニットテストを使用してC++によるテーブル印刷をテストできますか?Googleユニットテストでテーブル印刷を確認する
他のユニットテストフレームワークで行うことはできますか?
これまでのところ、A quick introduction to the Google C++ Testing Frameworkでは値のテストしか表示されません。 Googleの模擬テストを使用して配列をテストする方法については、Thisの質問があります。
正規表現を使ってフォーマットを確認することができます。 C++ 11には、これ専用の機能があります。以下はアウトラインの例で、cplusplus.comから順応していますが、テーブルを非常に正確にテストするためのより複雑なソリューションを開発することができます。
C++ 11
#include <string>
#include <regex>
std::string s = "|some|sort|of|table|row|"
std::regex r = "" // Matching regex
ASSERT_TRUE(std::regex_match(s, r))
(here概説としてstd::string::find()
とstd::string::substr()
を使用して)さらに、あなたはASSERT_EQ(parsed_value, exp_value)
あまり客観コメントのようなもので個々の値をチェックするために、テーブルを分割できます。
私は、Googleテストにはほとんどすべてのツールがあることがわかりました。あなたが言及した価値テストは実際には非常に多用途です。 (やや避けられない)作業は、使用可能なテスト用のデータを操作することです。これは、重要なデータと特性を外挿してASSERT_ *マクロとEXPECT_ *マクロに提示することを意味します。