2013-03-03 927 views
1

我剛剛開始使用gtest在C++中進行單元測試,並且我有一個關於void方法測試的問題。C++測試使用gtest的void方法

說我有一個方法void printNames(),它打印所有學生在一個類中的名字。

  1. 使用測試,有沒有辦法來檢查方法是否打印正確的名稱?

  2. 或者,它甚至需要測試這樣的事情嗎?

  3. 我可以讓該方法返回字符串,然後使用字符串測試返回的字符串,該字符串連接類中所有學生的名稱。這將是一個「好」的解決方案嗎?

回答

3

我可能會寫printNames採取一個ostream作爲參數,可能提供std::cout作爲默認值。

想要測試時,請提供對stringstream的引用,以便您可以捕獲輸出並與預期結果進行比較。