2013-07-31 3 views
4

나는 QTest와 unittest를 사용하여 PyQt에 일련의 단위 테스트를 작성했다. 필자의 코드는 신호를 전달하므로 테스트를 시작하기 전에 충분한 시간이 경과했는지 확인하기 위해 몇 가지 질문을 던집니다.q PySide에서 유사 아날로그?

APP.ui.serverPortEdit.setText('1234') 
QTest.mouseClick(APP.ui.userConnectButton, Qt.LeftButton) 
QTest.qWait(2000) #wait for the server to connect 
self.checkOnline() 

PySide에서 같은 테스트를하고 싶지만 qWait과 유사한 것은 찾을 수 없습니다. 나는 뭔가를 간과 했는가? PySide qTest docs은 그것에 대해 언급하지 않습니다.

답변

2

파이썬의 time.sleep()을 사용할 수 없습니까?

+0

이 경우에 나타날 수있는 것처럼 보입니다. 감사! – taynaron

1

time.sleep()이 (내 첫 번째 Google 히트) QEvent을 처리하지 않습니다. 이 은 PySide와 함께 사용하기 위해 qWait를 정의합니다.

from datetime import datetime as datetime_, timedelta 

@staticmethod 
def qWait(t): 
    end = datetime_.now() + timedelta(milliseconds=t) 
    while datetime_.now() < end: 
     QtGui.QApplication.processEvents() 
QtTest.QTest.qWait = qWait