簡體   English   中英

使用 Eclipse 遠程運行 Junit 測試,就像在本地運行一樣

[英]Running a Junit test remotely, as if it were running locally, using Eclipse

我四處搜索,閱讀了本網站和其他網站上的相關問題,但未能找到解決方案。 讓我感到奇怪的是,一個不存在所以讓我在這里詳細說明我的問題:

我經常使用 Junit4 + Eclipse 來測試我的代碼。 在某些情況下,某些測試可能會占用大量 CPU 和/或內存,導致我的工作站在測試期間無法使用。 這是我試圖解決的痛苦。

我希望通過遠程服務器獲得完全相同的行為。 我想要:

  1. 仍然能夠設置斷點和調試我的應用程序。
  2. 使用 Eclipse 中的 Junit 視圖查看測試的進展情況。
  3. 單擊按鈕開始測試(允許構建過程和復制文件,但前提是有效)。

在我的腦海中,我設想了一些將文件 rsync 到遠程服務器的東西,在那里使用與在我的本地機器上完全相同的參數啟動 java 進程,使調試端口可用(不僅僅是本地主機)並有 eclipse 連接到它讓調試和junit視圖都工作。

我怎樣才能做到這一點?

可以幫助我們找到解決方案的幾個主要問題:

  1. Eclipse 在本地運行時如何與 java 進程通信(用於調試目的和 Junit 視圖)?
  2. 我如何讓自己參與為 JUnit 測試生成 java 進程的過程,以便我可以將所需的文件復制到遠程服務器?
  3. 如何使進程在遠程而不是本地生成?
  4. 如何讓 Eclipse 連接到遠程主機而不是本地主機?

最簡單的方法是使用以下命令在遠程 mashine 上調用命令行 JUnit運行程序:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8998,server=y,suspend=y -cp ... org.junit.runner.JUnitCore <test class name>

因此,它將等到您從 Eclipse 端口 8998 附加遠程調試器。

您還可以使用 Eclipse 的目標管理工具將文件傳輸到遠程系統並啟動遠程命令。 項目頁面上有幾個教程。

為此嘗試 vs code 遠程 ssh 擴展。

你可以設置一個 jenkins CI 服務器,通過 git 同步你的代碼(或者只是使用 ftp 或其他東西復制),在一個由 git-hook 或通過一些腳本觸發的 jenkins 作業中執行測試。 然后像 Eugene Kuleshov 建議的那樣遠程調試到正在運行的測試過程中。 這個過程可以由你從 eclipse 調用的 ant 腳本自動化。 應該有一個 mylin 連接器(例如),您可以通過它來監視正在運行的測試。 我不知道是否可以使用 Eclipse 的標准 JUnit 視圖來查看正在運行的測試而不使用一些自定義插件(如果存在的話)。

暫無
暫無

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

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