Tôi vừa bắt đầu tìm hiểu về TDD và tôi đang phát triển một chương trình bằng GUI Tkinter. Vấn đề duy nhất là khi phương pháp .mainloop()
được gọi, bộ kiểm tra sẽ treo cho đến khi cửa sổ đóng lại.Làm cách nào để chạy không nhất thiết trên ứng dụng Tkinter?
Dưới đây là một ví dụ về mã của tôi:
# server.py
import Tkinter as tk
class Server(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.mainloop()
# test.py
import unittest
import server
class ServerTestCase(unittest.TestCase):
def testClassSetup(self):
server.Server()
# and of course I can't call any server.whatever functions here
if __name__ == '__main__':
unittest.main()
Vì vậy, cách thích hợp các ứng dụng thử nghiệm Tkinter là gì? Hay chỉ là 'không'?
Cảm ơn!
Sau khi suy nghĩ về nó trong vài ngày (và làm việc trên các dự án khác), điều này có ý nghĩa hơn nhiều - có một lớp xử lý mà giao diện GUI sẽ làm cho việc kiểm tra dễ dàng hơn và có thể dễ dàng hơn để viết. –
Vòng lặp sự kiện Tk cần chạy trong chuỗi chính. Vì vậy, sử dụng các chủ đề sinh ra cho các bài kiểm tra. – ankostis
Không phải là chủ đề Tk-không an toàn? –