我正在使用cxxtest作爲我的C++類的測試框架,並且想要找出一種方法來模擬將數據發送到通常期望從標準輸入接收它的類。我有幾個不同的文件,我想在不同的測試期間發送給類,所以從命令行到測試套件可執行文件的重定向不是一個選項。如何將數據重定向到單個可執行文件中的stdin?
基本上,我真正想要做的是找到一種方法來重新定義或重定向'stdin'句柄到我在我的程序中創建的一些其他值,然後從這些測試中使用fwrite()類內的相應fread()從程序內部拉取數據,而不是從與可執行文件關聯的實際標準I/O句柄中提取數據。
這甚至可能嗎?獨立平臺解決方案的附加點,但最低限度,我需要在Windows下使用Visual Studio 9。