我正在做一个宠物项目,探索一些基于 Curses 的编程。怎样最好地为此编写单元测试呢?我考虑到 Rails 应用程序支持的一般导航类型测试(集成测试)。 (例如,我希望确保我的应用程序能够打开,向下移动一个条目,增加其优先级,将其标记为完成,然后干净地退出。)
稍微提供一些背景信息,我的应用程序 使用了 ncursesw gem。任何测试方法都可以。(Ruby, C, 等)
稍微提供一些背景信息,我的应用程序 使用了 ncursesw gem。任何测试方法都可以。(Ruby, C, 等)
如果不进行屏幕截图,你必须依靠一个捕获屏幕的外部框架(这往往很复杂:关于X/Open页面上的"易于使用"的评论是乐观而不是现实),或者依靠某人检查屏幕并查看它们是否正确。我选择了使用屏幕截图方法来制作我的目录编辑器,使其记录命令并添加了一个用于进行屏幕截图的命令。重放命令(并比较连续运行)让我测试差异。
进一步阅读:
tmux -u new-session -d -x 10 -y 10 -s foo
tmux send -t foo ls ENTER
sleep .5
tmux capture-pane -p
tmux kill-session -t foo