首頁 > Java > java教程 > 主體

如何在命令列程式的 JUnit 測試中模擬使用者輸入?

Mary-Kate Olsen
發布: 2024-10-28 14:41:02
原創
298 人瀏覽過

How Can You Simulate User Input in JUnit Tests for Command-Line Programs?

使用 JUnit 模擬 System.in 測試

在軟體測試領域,人們經常面臨模擬用戶輸入的挑戰。命令列程序。當程式提示透過 System.in 輸入時,如何在 JUnit 測試中自動執行此行為?

繞過System.in 並注入模擬使用者輸入,請依照下列步驟操作:

  1. 建立抽象層:
    避免在程式碼中直接呼叫System.in。引入抽象層來管理輸入來源。您可以透過依賴注入或傳遞 I/O 上下文來實現這一點。
  2. 動態切換 System.in:
    使用 Java 8 流來操作 System.in溪流。例如:

    <code class="java">String data = "Hello, World!\r\n";
    InputStream stdin = System.in;
    try {
        System.setIn(new ByteArrayInputStream(data.getBytes()));
        Scanner scanner = new Scanner(System.in);
        System.out.println(scanner.nextLine());
    } finally {
        System.setIn(stdin);
    }</code>
    登入後複製

以上是如何在命令列程式的 JUnit 測試中模擬使用者輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!