2015-01-07 13 views
3

나는 텔넷을 통해 라우터와 대화하고 간단한 명령을 내리는 간단한 프로그램을 작성 중이다. 나는이 명령들을 테스트 할 수 있기를 바란다. 프로그램은 서버 출력에 정확하게 응답하고 적절한 순간에 명령을 보낸다. 그러나 나는 그것을 할 수있는 좋은 방법을 알아낼 수 없습니다. 내가 쓴 최고의 단원 테스트를위한 작은 텔넷 서버를 만드는 것입니다하지만 조금 과도한 것 그리고 그것을 할 간단한 방법이 바라고 있어요.단위 테스트 비단뱀 telnetlib

누구나 아이디어가 있습니까?

답변

3

이 경우 서버 개체를 조롱하는 것이 가장 좋습니다. 파이썬 3을 사용하고 있기 때문에, unittest.mock을 사용하여 테스트에 사용할 조롱 된 서버 객체를 만들면됩니다. 여기에있는 문서 : https://docs.python.org/3/library/unittest.mock.html

+1

2.7 용 모의는 외부 라이브러리 : https://pypi.python.org/pypi/mock –

+0

에 있습니다. telnetlib 서버 조롱은 제가 고려하지 않은 것입니다. 하지만 나는 그걸 제대로 테스트 할 수 있다고 생각하지 않습니다. 올바른 명령을 보내고 있는지 테스트 할 수 있지만 내 코드가 올바르게 응답하는지 조롱 된 개체의 응답을 보낼 수 있다고 생각하지 않습니다. 또는 나는 틀린가? – grimurd

+2

@GrimurD : 모의 프레임 워크를 사용하여 메소드 호출의 반환 값을 정의 할 수 있습니다. 테스트 설정에서 실제 서버가 보낼 결과를 미리 정의해야합니다. –