2016-06-30 3 views
0

Googleユニットテストを使用してC++によるテーブル印刷をテストできますか?Googleユニットテストでテーブル印刷を確認する

他のユニットテストフレームワークで行うことはできますか?

これまでのところ、A quick introduction to the Google C++ Testing Frameworkでは値のテストしか表示されません。 Googleの模擬テストを使用して配列をテストする方法については、Thisの質問があります。

答えて

1

正規表現を使ってフォーマットを確認することができます。 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_ *マクロに提示することを意味します。

関連する問題