簡體   English   中英

是否有用於記錄Java對象以進行單元測試的工具?

[英]Is there any tools to record the Java objects for unit testing?

我想編寫一些單元測試,並且必須創建或模擬程序中使用的對象。 我想知道是否有任何工具可以在實際運行期間捕獲並記錄程序的對象並將其用於單元測試(與端到端測試中的Selenium Recorder相同)?

我從未聽說過這樣的工具。 您將必須自己編寫。

您可以依賴應用程序的持久層:

  • 在應用程序執行的某些特定時刻存儲對象,
  • 在測試中再次加載這些對象。

您可能會被諸如databene-benerator之類的工具所困擾

它是一個框架,用於為被測系統生成真實有效的大容量測試數據

在此處輸入圖片說明

我不得不在沒有任何測試的情況下重構大型(生產)代碼庫,但不幸的是沒有發現任何東西,因此我不得不自己開發工具。 主要目標是可擴展性(在每個分析階段插入的能力)和質量(單元測試的高代碼覆蓋率)。

因此,任何正在尋找這種工具的人都可以嘗試testrecorder 有幾種方法可以根據實際使用情況生成測試。 最簡單的方法可能是使用呼叫記錄器

try (CallsiteRecorder recorder = new CallsiteRecorder(ExampleObject.class.getDeclaredMethod("inc"))) {
  printTest(recorder.record(() -> {
    int doubleInc = exampleObject.inc().inc().get();
    System.out.println(doubleInc);
  }));
  printTest(recorder.record(() -> {
    int resetInc = exampleObject.reset().inc().get();
    System.out.println(resetInc);
  }));
}

暫無
暫無

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

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