在不显示元素的情况下测试Python Tkinter GUI应用程序
如何在不显示元素的情况下测试tkinter gui?这将使测试更快。下面的代码可以工作,但在运行测试后必须关闭tkinter窗口才能结束,是否有可能在不运行tkinter应用程序的情况下测试在不显示元素的情况下测试Python Tkinter GUI应用程序,python,testing,tkinter,python-unittest.mock,Python,Testing,Tkinter,Python Unittest.mock,如何在不显示元素的情况下测试tkinter gui?这将使测试更快。下面的代码可以工作,但在运行测试后必须关闭tkinter窗口才能结束,是否有可能在不运行tkinter应用程序的情况下测试Next类,或者干脆不显示它?我听说过unittest.mock,但当我试图模拟tk.tk()时,它崩溃了。 相关: 和测试等级: class TestNext(unittest.TestCase): @classmethod def setUpClass(cls): pass @classmet
Next
类,或者干脆不显示它?我听说过unittest.mock
,但当我试图模拟tk.tk()时,它崩溃了。
相关:
和测试等级:
class TestNext(unittest.TestCase):
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
def setUp(self):
self.root = tk.Toplevel()
self.title = 'test_next'
self.kwargs = {'cancel': None}
def tearDown(self):
self.next = None
if self.root:
self.root.destroy()
def test_init(self):
page = Next(self.root, self.title, **self.kwargs)
我发现:
self.root.after(time_in_ms,lambda:self.root.destroy())
有效,但有更好的解决方案吗?顺便说一句,self.root.after(time_in_ms,self.root.destroy)更短
class TestNext(unittest.TestCase):
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
def setUp(self):
self.root = tk.Toplevel()
self.title = 'test_next'
self.kwargs = {'cancel': None}
def tearDown(self):
self.next = None
if self.root:
self.root.destroy()
def test_init(self):
page = Next(self.root, self.title, **self.kwargs)