簡體   English   中英

嘗試在Eclipse中以調試模式運行ANT JUnit目標

[英]Trying to run ANT JUnit target in debug mode in Eclipse

這是我的ANT JUnit目標

<target name="test" depends="compile" >
    <junit failureProperty="test.failure" >

        <jvmarg value="-Xdebug" />
        <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" />

        <classpath>
            <pathelement path="${basedir}\..\Core\lib\junit-4.10.jar"/>
            <pathelement path="${basedir}\..\Suggestion\lib\ssce.jar"/>
            <pathelement path="C:\Java\javamail-1.4.1\mail.jar"/>
            <pathelement path="C:\Java\commons-net-2.0\commons-net-ftp-2.0.jar"/>
            <pathelement path="${basedir}\WebContent\WEB-INF\lib\gson-2.2.1.jar"/>
            <pathelement path="${tomcatLibs}\servlet-api.jar"/>
        </classpath>
        <classpath>
            <pathelement path="${build}"/>
        </classpath>
        <formatter type="brief" usefile="false" />          
        <test name="com.server.junit.ServerTestSuite" />
        <test name="com.junit.DictionaryTestSuite" />   
        <test name="com.util.junit.SuggestionTestSuite" />              
    </junit>

    <fail message="Unit test failed" if="test.failure"/>
</target>

我的單元測試如果在Eclipse中運行則通過,但如果我從ANT中清洗它們則會失敗。 我希望它在單元測試中停在我的斷點處。 從文檔我知道我需要添加這些jvmarg但不能讓它停止所以我顯然沒有在正確的地方。 另外,我認為我沒有正確的端口,但我應該使用哪個端口? 在通過eclipse調試JUnits時我沒有設置任何調試端口,它只是起作用

您需要忘記在Eclipse中運行JUnit測試和ANT目標的時刻。 你想要的是調試碰巧有主類org.apache.tools.ant.Main的Java應用程序,它可以從命令行用ant啟動。

您現在有兩個選項:您可以創建一個調用org.apache.tools.ant.Main的啟動配置,但設置起來非常復雜(您必須復制ant腳本在啟動時執行的所有操作)。

另一種方法是正確配置ant 在你的情況下,測試在ant進程中運行,但我知道沒有簡單的方法將-Xdebug傳遞給Ant本身。 因此,您必須在新進程中運行測試。 將其添加到junit任務:

<junit fork="yes" forkmode="once" ...>

如果沒有這個, jvmarg參數將被忽略。

下一步是在Eclipse中創建調試配置。 本文詳細解釋了這一點。 對你來說,只有“結論”之前的最后一部分才是重要的。

詳細說明:

  1. 在Eclipse中,導航到Run | 調試。
  2. 在左列中選擇Remote Java Application。 單擊同一列底部的“新建”。
  3. 在“創建配置”屏幕中,系統將提示您輸入一些值。 從一個有意義的名字開始。 對於Project,選擇包含要調試的源代碼的Java項目。 保持連接類型默認,即標准(套接字連接)。 對於Host,輸入localhost。 如果要調試遠程服務器,請輸入其主機名或IP地址。 對於port,輸入5432。
  4. 單擊“應用”
  5. 確保您的測試在調試模式下運行。 在同一屏幕中單擊“調試”。 Eclipse應自動將您帶到Debug透視圖,您應該在Debug視圖中看到堆棧跟蹤。
  6. 如果未自動進入Debug透視圖,請選擇Window | 開放視角| 其他,然后單擊調試。

取自這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM