2012-03-22 2 views
4

현재로드 할 특정 라이브러리/모델을 확인하는 rspec 테스트를 실행 중입니다. 특히, 우리는 객체를 생성 할 때 FF와 Chrome을위한 Watir :: Browser, Safari를위한 Watir :: Safari와 같은 정확한 Watir 객체를 얻는다는 것을 테스트하려고합니다.ruby ​​/ rspec에서 'require'를 언로드하는 방법은 무엇입니까?

우리는 이미 이것을 시도했습니다 : Unload a ruby class하지만 그냥 상수를 삭제합니다. 이는 우리가 원하는 것이 아닙니다.

일반적으로 이것은 문제가되지 않지만 safariwatir 및 watir-webdriver와의 호환성 문제로 인해 발생하지 않습니다. 그와 오류 아웃 :

superclass mismatch for class UnknownObjectException 

그리고이, 우리는 기본적으로 (따라서 원래의 논리 - 우리가 테스트 계획)로드 할 webdriver 선택해야 '수정'하는

해결하는 방법이 있나요을 이? 우리의 테스트는 통과했을 때뿐만 아니라 통과했습니다. 그래서 우리는 기본적으로 요구 문제를 우회하기위한 단계를 생략해야합니다. 루비

답변

0

클래스 개체하지만, '하나 당 실행/오브젝트 공간 "루비 클래스 객체를 상수로 지정되어 있기 때문에 존재 만. 수업 이후

같은 클래스의 아이디어는 극장 모듈을 수행 할 수 있습니다 네임 스페이스된다 객체의 유형을 동적으로 검사하십시오. 충분하지 않으면 오리 유형을 사용할 수 있습니다. 호환성 문제에 대해 언급 한 이후로 다른 객체 (테스트 할 수있는 객체) 또는 메소드 각각에 대해 다른 값을 반환합니다 (테스트 할 수 있습니다).

0

'watir'보석이 필요할 때 조건부 논리를 사용하여 이와 비슷한 작업을 수행하여 하나의 버전 만 종료되도록했습니다. 환경 설정에 따라 필요한 작업을 수행 할 수 있습니다. 나중에 더 자세한 내용을 제공 할 수 있습니다. 아마도 watir 테스트 자동화 바자회가 끝나고 약간의 코드 샘플을 생각하고 파고들 것입니다.

+0

덕분에 작동하는 방법에 대한 지금까지 watir-webdriver blog에 대한 세부 사항! 이것은 여전히 ​​우리를 도청하고 있습니다. 우리는 조건부 요구 사항을 처리해야하지만 조건을 테스트하려고합니다. 이 경우, rspec이 테스트 케이스를 통과 할 때 먼저 watir-webdriver가로드되었는지 확인한 다음 safariwatir이 필요한지 테스트 할 때까지 watir-webdriver가로드되어 오류가 발생합니다 – corroded

+0

저는 ' 조금 혼란 스럽습니까, rspec으로 테스트 코드를 테스트하고 있습니까? 이것은 테스트에서 생략해야 할 한 가지 양상 일 수 있습니다. 아마도 어떤 종류의 로깅이나 일부 디버깅을 통해 작동하는지 확인 할 수 있습니다. "Safari를로드하고 있습니다." –

2

새 Anser : NEWS FLASH webdriver가 이제 Safari를 지원합니다! 사파리 와타리를 도랑에 던져 웹 드라이브로 다해라. 나는 Test Automation Bazaar에서 오늘 이것을 발견 했으므로 자세한 내용은별로 알지 못한다. 다음 번에 Watir 커뮤니티에서 블로그에 대한 기사를 볼 수있다. 회의.

UPDATE : 일이 사파리와

+0

와우는 좋은 소식입니다! 우리가해야 할 일은 업데이트를 기다리는 것뿐입니다. 우리는 현재 watir-webdriver 0.5.3에서 실행 중입니다. – corroded

+0

잠재적으로 webdriver gem을 업데이트하고 safari라는 브라우저를 시작할 수 있는지 확인하십시오. (당신은 나에게 그것이 내가 어떻게 작동하는지에 관해서 JariB와 이야기하고있는 TAB 이벤트에 더 많은 시간을 보내 었 더라면 좋겠다고 생각하고있다.) –

+0

실제로 나는 그것을 시험했다. 그러나 운이 없다. watir 또는 selenium webdriver에 대해 이야기하고 있습니까? – corroded

관련 문제