2013-09-26 1 views
0

Python의 Nose를 사용하여 기능 테스트를 시작했습니다.Python의 Nose setUp/tearDown 메소드로 모듈 만들기

나는 SauceLab 서비스와 함께 사용합니다. 명령 줄에서 테스트를 실행하고 소스 대시 보드에 대한 보고서를 봅니다.

이제 모든 테스트는 setUp(), the_test() 및 tearDown() 메서드가 포함 된 클래스입니다. setUp() 메서드에는 테스트가 실행될 브라우저/버전/OS를 구성하는 Sauce에 전달되는 기능이 있습니다.

def setUp(self): 
     #REMOTE 
     desired_capabilities = webdriver.DesiredCapabilities.FIREFOX 
     desired_capabilities['version'] = '21' 
     desired_capabilities['platform'] = 'Windows XP' 
     desired_capabilities['name'] = className.getName(self) 
     desired_capabilities['record-video'] = False 

     self.wd = webdriver.Remote(desired_capabilities=desired_capabilities,command_executor="http://the_username:[email protected]:80/wd/hub") 
     self.wd.implicitly_wait(10) 

내가하고 싶은 다음 ... : 설치 해체 기능을 포함하는 별도의 파일을 생성하고 내가 전에 시험/검사 후 (필요할 경우 단지마다 정확히 이름으로 그들에게 전화). 이제는 각각의 모든 파이썬 파일 안에 존재하며 동일한 코드 조각입니다.

또한 코가 두 기능을 자동으로보고 필요한 경우 호출하는 방법이 있다고 생각합니다. 그것은 실현 가능합니까?

고맙습니다.

답변

1

수퍼 클래스에 넣으십시오.

def MyTestCase(TestCase): 

    def setUp(self): 
     # do setup stuff 

각 테스트는 MyTestCase에서 상속받을 수 있습니다. 그런 다음 각 테스트 클래스에서 setUp 또는 tearDown을 사용할 수 있습니다. 그러나 슈퍼 클래스 init 메소드를 호출하는 것을 잊지 마십시오.

+0

왜 'unittest.TestCase'에서 서브 클래스를 만드나요? 코는 자체 라이브러리에 동일한 어썰트 기능을 포함하고 있으며 pep8 호환입니다. – Greg

+0

그는 자신이 좋아하는 클래스를 서브 클래스 할 수 있습니다 ... 나는 규범 적이지 않습니다. 각 테스트 클래스에서 동일한 setUp 메소드를 사용하지 않는 것에 대한 해법은 상속을 사용하는 것이라고 말하면됩니다. – aychedee