我知道還有一些關於此主題在stackoverflow的其他問題。但是我正在尋找一個特定的答案 - 如果我使用JUnit,那麼數據不能在不同類別中存在的測試之間共享。 例如一個初始化爲零的靜態變量計數器。我在@Test
方法中打印其值。然後在第二課的另一個@Test
中做同樣的事情。我喜歡這個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 *方法零。這意味着計數器在這兩個測試之間沒有共享時遞增。
現在,對於selenium
我使用的是webdriver
API。我想維護用於登錄我的網站的驅動程序對象。當他們出現在不同的類中時,如何在不同的@Test
方法之間傳遞此驅動程序對象?用Junit
這似乎是不可能的。或者,也許我可能在build.xml
中做錯了什麼。似乎每個測試用例都在不同的JVM
中調用。