2010-05-25 5 views
7

웹 인터페이스를 통해 unittest 테스트를 수행 할 수 있습니까? 그렇다면 어떻게해야합니까?Perfom 웹 인터페이스를 통한 Python 단위 테스트

편집 : 의 경우는 지금은 결과가 ... 나는 그들 ... 아마도 모든 시간을 자동화 할 테스트를 위해 내가 코드를 변경합니다. 죄송합니다.이 내용을 더 이상 명확하게 잊어 버렸습니다.

+0

당신을합니까를 웹 인터페이스에서 테스트를 실행하거나 결과를 보거나 둘 다를 원하십니까? –

+0

@ Eric : 내 편집 참조 – Stephen

답변

8

편집 :

이 답변이 시점에서 오래된된다

  • 사용 Jenkins 대신 허드슨 (같은 일, 새 이름).
  • xmlrunner.py 대신 django-jenkins을 사용하십시오.

django-jenkins의 링크는 Django에서 Jenkins를 사용하는 방법에 대한 훌륭한 자습서로 이동합니다. 나는 여전히 좋은 정보가 있기 때문에 아래에 텍스트를 남겨 두겠습니다. 브라이언 말했듯이


, 나는 테스트 결과를, 예약 실행하고 수집 Hudson을 사용하십시오. xmlrunner.py (Sebastian Rittau 작성)을 사용하여 테스트 결과를 수정하면 테스트 결과가 Hudson의 JUnit 호환 XML 파일로 출력됩니다.

다음은 테스트 코드가 xmlrunner 사용하는 것이 방법의 예 : 당신이 허드슨을 설치하면

import unittest 
import xmlrunner 

class TheTest(unittest.TestCase): 

    def testOne(self): 
     self.assertEquals(1, 1) 
    def testTwo(self): 
     self.assertEquals(2, 2) 
    def testThree(self): 
     self.assertEquals(3, 4) 

if __name__ == '__main__': 
    suite = unittest.TestLoader().loadTestsFromTestCase(TheTest) 
    xmlrunner.XMLTestRunner().run(suite) 

, 당신은 당신이 테스트하고 소스 저장소에 대한 새 프로젝트를 만들 것이다. 당신은 RTFM해야하지만 간단히 말해서 :

소스 코드 관리에서
  1. 그것을 확인, 당신은 당신의 저장소 정보를 입력합니다 나는 대개 할 * * * * * (이 주기적으로 REPO를 폴링하기 때문에 매 분)
  2. 실제로 테스트 스크립트 (예 : python test.py)를 실행하는 명령을 추가하십시오.
  3. Publish JUnit 테스트 결과 보고서를 확인하십시오. 'TEST-*.xml' doesn't match anything과 같은 오류가 있으면 무시해도됩니다. 그것은 다음과 같이 보일 것이다 : JUnit Settings http://www.snowpeaksoftware.com/stuff/hudson_config.png

을 그 모든 허드슨 체크인 후 실행될 때마다에 대한 테스트 결과를 볼 수 있습니다 완료 일단.그것은 다음과 같이 보일 것이다 :

Hudson Unit Test Results http://www.snowpeaksoftware.com/stuff/unittest_results.png

또한이 페이지를 좋아합니다 더 자세한 페이지 수

:

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed1.png

이 페이지 :

Hudson Unit Test Detailed Results http://www.snowpeaksoftware.com/stuff/test_results_detailed2.png

4

코드를 체크인 할 때마다 Hudson을 사용하여 테스트가 실행되도록 예약 할 수 있습니다. Hudson은 웹 앱이므로 웹을 통해 결과를 볼 수 있습니다 (및/또는 게시하거나 이메일로 귀하 또는 귀하의 팀에게 보낼 수 있음).

관련 문제