簡體   English   中英

void方法的模擬參數

[英]Mocking parameter of a void method

假設我有以下設置器:

public void setNewPath(final String path) {
  if (StringUtils.hasText(path) && !path.endsWith(File.separator)) {
            this.newPath = path + File.separator;
        } else {
            this.newPath = path;
        }
    }

我想在測試方法中模擬參數path 那可能嗎?

這不是嘲笑的好問題。 鑒於字符串是不可變的,在任何情況下都不會在適當的地方修改參數,盡管模擬可以告訴您是否調用了方法,但它不會讓您跟蹤要進行的修改的值。

正如Brian Agnew在評論中發布的那樣,“使用各種輸入來測試方法,並斷言某些行為(例如newPath的設置)”。 確保newPath具有吸氣劑,即使該吸氣劑僅用於測試(並已記錄在文檔中)。

暫無
暫無

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

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