我正在开发终端应用程序.我想知道如何测试使用ncurses创建的终端用户界面.有没有人有这种测试的经验?
到目前为止,我最好的方法是测试应用程序捕获标准输出并将其与应有的进行比较.但是我担心我永远无法为每个终端大小创建可比较的案例,文本颜色代码为(256bit,24bit)等...
一种测试方法是模拟键盘,但我如何测试视觉行为?
我对此问题一无所知......
比较屏幕输出很困难,因为 ncurses 使用光标寻址和其他方法仅更新屏幕的更改部分。相反,比较 ncurses 在不同时间点已知的屏幕内容是最好的方法。
您可以使用instr构建屏幕转储来获取文本(但省略了颜色等属性)。ncurses 的 Python 接口也有英寸(但假设字符是 8 位)
使用putwin会很好,但是(直到最近)它以二进制形式保存窗口。即将推出的 ncurses6 使用文本转储,可以进行比较。该更改对于调用者来说是不可见的(因为 putwin/getwin 始终将文件格式视为秘密),并且原则上可以在 ncurse5 的构建中打开。为此,您可能必须构建自己的 ncurses。
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |