2014-02-11 7 views
1

나는이 주제에 대한 몇 가지 다른 질문이 stackoverflow 있음을 알고 있습니다. 그러나 특정 답변을 찾고 있는데요 - JUnit을 사용한 경우 다른 클래스에있는 테스트간에 데이터를 공유 할 수 없습니다. 예 : 정적 변수 카운터는 0으로 초기화됩니다. 나는 그 값을 @Test 방법으로 인쇄하고있다. 그런 다음 다른 클래스 @Test에서 동일한 작업을 수행하십시오. I이Selenium Webdriver의 테스트 프레임 워크는 무엇입니까?

<target name="LoginTestAndPreReqs" depends="dist"> 
    <mkdir dir="${java.test.reports.path}" /> 
    <junit haltonfailure="no" printsummary="true"> 
     <classpath> 
      <pathelement location = "${build}" /> 
     </classpath> 
    <formatter type="xml"/> 
     <batchtest fork="yes" todir="${java.test.reports.path}"> 
      <fileset dir="${build}/"> 
       <include name="**/TestUnits.class"/> 
       <include name="**/TestUnits1.class"/> 
       <exclude name="**/*$*.class"/> 
      </fileset> 
     </batchtest> 
    </junit> 
</target> 

같은 build.xml 통해이 두 종류의 시험 모두를 호출하고되지만 출력은 카운터가 각각의 TestUnit * 메소드 0으로 리셋된다 나타낸다. 이것은 두 가지 테스트에서 공유되지 않는 카운터가 증가한 것을 의미합니다.

이제 selenium에 대해 webdriver API를 사용하고 있습니다. 내 사이트에 로그인하는 데 사용한 드라이버 개체를 유지 관리하고 싶습니다. 서로 다른 클래스에있는 다른 @Test 메서드 사이에이 드라이버 개체를 전달하려면 어떻게해야합니까? Junit로는 이것이 불가능한 것처럼 보입니다. 아니면 build.xml에서 뭔가 잘못하고있을 수도 있습니다. 각 테스트 사례가 다른 JVM에서 호출 된 것 같습니다.

답변

0

Junit과 Webdriver를 사용할 때 나중에 테스트에서 텍스트 파일에 사용할 값을 작성했습니다. 나중의 테스트는 필요한 값을 얻기 위해 파일을 읽습니다.

한 테스트에서 생성 된 예약 참조를 특정 예약 유형이 필요한 다른 테스트로 전달하는 데이 방법을 사용했습니다.

관련 문제