2010-06-22 1 views
3

Selenium 1.x 및 Spring 3.0으로 JUnit 4.7 테스트를 설정하고 있습니다.SpringJUnit4ClassRunner 또는 AbstractJUnit4SpringContextTests가없는 Spring 테스트 컨텍스트 설정 (Selenium 테스트에서)

내가 제공하는 단축키와 규칙에 대해 Selenium의 SeleneseTestCase을 확장하고 싶습니다. (더 중요한 것은 Selenium IDE에서 생성 한 코드가이를 예상합니다). 그러나 나는 Spring 컨텍스트와 다른 장점이 실행 중에 존재하기를 원한다.

스프링의 AbstractJUnit4SpringContextTests을 확장 할 수 없기 때문에 @RunWith(SpringJUnit4ClassRunner.class)으로 테스트 케이스를 꾸며 보았습니다. 이것은 성공적으로 Spring을 설정하지만 Selenium 실행에 약간의 이상함을 야기합니다. 예를 들어 테스트가 느리게 실행되고 브라우저 창이 열려 있습니다. Selenium (일부 추측)을 재정의한다고 가정합니다 ... 불행히도 SeleneseTestCase 클래스는 제한된 매개 변수 집합 만 변경할 수 있습니다 (예 : 실행 속도 설정 제외) (기본 클래스가 결국 좋은. ..).

스프링의 모든 종소리와 휘파람을 만들기 위해서는 AbstractJUnit4SpringContextTests을 확장하거나 @RunWith(SpringJUnit4ClassRunner.class)으로 꾸며야합니다. 그러나 전자는 할 수없고 후자는 문제를 일으킨다.

@ContextConfiguration 만 있으면 컨텍스트가로드되지만 적어도 종속성 삽입은 작동하지 않습니다. 그것이 내가 멈춘 곳입니다.

Selenium (또는 같은 케이스의 다른 라이브러리)을 사용하여 Spring을 깔끔하게 초기화 할 수 있습니까?

편집 : 텍스트를 더 읽기 좋게 만들었습니다.

답변

1

나는 비슷한 문제로 인해 a MethodRule implementation that will load a Spring context and autowire it's host test으로 불만을 나타 냈습니다. 어쩌면 그것은 당신이 찾고있는 것의 시작입니다.

그것은 당신이 같은 것을 할 수 있습니다 :

@Rule 
public TemporarySpringContext context = new TemporarySpringContext("context.xml"); 

@Autowired 
MyService myServiceBean; 

을 당신은 알려 주시기 바랍니다 어떤 개선되면.

+0

링크를 더 이상 사용할 수 없습니다. 규칙에 다른 포인터가 있습니까? 또는 당신이 당신의 규칙에 필요한 것을 결정하는데 사용했던 정보일까요? – Lucas