我正在使用cxxtest作为我的C++类的测试框架,并且想要找出一种方法来模拟将数据发送到通常期望从标准输入接收它的类。我有几个不同的文件,我想在不同的测试期间发送给类,所以从命令行到测试套件可执行文件的重定向不是一个选项。如何将数据重定向到单个可执行文件中的stdin?
基本上,我真正想要做的是找到一种方法来重新定义或重定向'stdin'句柄到我在我的程序中创建的一些其他值,然后从这些测试中使用fwrite()类内的相应fread()从程序内部拉取数据,而不是从与可执行文件关联的实际标准I/O句柄中提取数据。
这甚至可能吗?独立平台解决方案的附加点,但最低限度,我需要在Windows下使用Visual Studio 9。