在我的一个应用程序中,我有一个负责用户输入的类。默认的输入方式是控制台(键盘),我想为它写一些单元测试来确保它是正确的。
我正在考虑使用 google-test我的单元测试框架,这使得自动化所有测试变得容易。但是,我不确定如何自动测试控制台输入。
有没有办法模拟用户在键盘上的输入?还是我必须手动输入我的测试输入?或者可能重定向 stdin
(在代码中或在运行单元测试时通过管道)?
编辑:我计划使用 GNU readline 进行用户输入。目前我看不出有什么方法可以重定向这个库的输入流——也许其他人有这方面的经验?
最佳答案
你可以使用 expect .
关于c++ - 如何对控制台输入类进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1309612/