【发布时间】:2018-05-23 07:48:44
【问题描述】:
我使用 python 3 和 tkinter 编写了一个小应用程序。测试每个小部件,即使它们并不多,也会让人望而生畏,所以我想编写几个自动化测试来简化流程。我读了一些其他似乎与这个问题相关的问题,但没有一个符合我的需要。现在我正在以一种非常简单的方式进行测试 - 我为每个小部件调用命令并手动单击它以查看它是否有效。它确实使事情变得更快,但我经常遇到一些问题 - 即即使使用库来模拟键盘点击(即 pynput),我也无法自动关闭弹出窗口(如 showinfo)。是否有使用 tkinter 测试应用程序的有效方法?
这是我现在使用的代码:
import tkinter as tkinter
import unittest
from mygui import MyGUI
class TKinterTestCase(unittest.TestCase):
def setUp(self):
self.root = tkinter.Tk()
def tearDown(self):
if self.root:
self.root.destroy()
def test_enter(self):
v = MyGUI(self.root)
v.info_button.invoke()
v.close_button.invoke()
v.btnOut.invoke()
if __name__ == "__main__":
unittest.main()
【问题讨论】:
-
你真的要测试吗?当您致电
showinfo时,您不相信tkinter会做正确的事吗?