我正在尝试unittest
为一个简单的 Python 程序编写一个测试(使用)。它是一个交互式程序,特别是基于文本的游戏,目前基本上是 Zuul 世界到 Python 的一个端口。
所以现在我想做一个好的测试驱动开发并编写一个测试并确保当用户输入命令 x 时,y 结果发生。示例:当用户输入“退出”时,我希望程序结束。我想确保这种行为。唯一的问题是,如果不将输入实际输入到 shell 中,我似乎想不出一种方法来给我自己的程序输入,所以我想不出如何为此编写测试。
目前,我已经将该程序嵌入到它自己的线程中......我在想这将允许我异步地给它输入,但我仍然不明白如何做到这一点。
有没有办法以编程方式和动态地给我自己的程序输入?... 喜欢,使用stdin
还是什么?如果是这样,我会彻底困惑,并希望举个例子。
最后,如果我在这里走错了路,请告诉我,因为我对 Python 和测试驱动开发都是新手,我将不胜感激任何建议。