내가 개발중인 일부 작은 애플리케이션은 REST API를 통해 특정 웹 서비스를 검사하기 위해 작성한 모듈을 사용합니다. 나는 물건을 부수 지 않기 위해 단위 테스트를 추가하려고 노력했습니다. 그리고 나는 문제를 발견했습니다.PyQt와 unittest - 신호와 슬롯을 처리하는 방법
많은 신호 - 슬롯 연결을 사용하여 비동기 적으로 작업을 수행합니다. 예를 들어 일반적인 테스트 신호로 postDataDownloaded로 (의사 파이썬) 될 것이다 : 이제
def testConnection(self):
"Test connection and posts retrieved"
def length_test():
self.assertEqual(len(self.client.post_data), 5)
self.client.postDataReady.connect(length_test)
self.client.get_post_list(limit=5)
, 유닛 테스트는 다른 슬롯이기 때문에 (결과에 관계없이의, 실행할 때이 테스트가 "확인"으로보고합니다 어설 션이 실패하더라도 (나는 처리되지 않은 AssertionError를 얻을 것이다). deliberatiely 테스트를 만드는 예는 실패 : 테스트 내부
Test connection and posts retrieved ... ok
[... more tests...]
OK
Traceback (most recent call last):
[...]
AssertionError: 4 != 5
슬롯은 단지 실험이다 : 그것은 외부의 (인스턴스 메소드) 만약 내가 같은 결과를 얻을 수 있습니다.
나는 또한 모든 요청을 HTTP 요청을 만드는 다양한 방법을 추가해야합니다. 즉, 요청을 조롱 할 필요가 있습니다. 즉, SimpleHTTPServer를 사용하여 해당 요청을 위조해야합니다. 연결하고 적절한 데이터를 제공하십시오).
이 문제를 해결할 수있는 방법이 있습니까?
감사를 제안, 나는이 총에 그것을 나중에 오늘 밤을 줄 것이다. – Einar