2012-05-10 60 views
0

我正在寫有等待運行之前,用戶輸入一個JUnit測試;該方案是這樣的:開始運行測試 捕捉鍵盤輸入

  • 等待一些外部的操作,不能自動化/嘲笑完成

    • ;用戶必須執行一些手工活動,然後通知測試繼續
    • 繼續運行

    我試圖用

    System.out.println("Press enter to continue"); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    reader.readLine(); 
    System.out.println("Resuming..."); 
    

    ,但它不工作,因爲System.in不似乎在測試中接受來自鍵盤的輸入。

    我知道這是不是一個典型的/正統的單元測試,但我想它作爲一個代碼,因爲它是那麼方便使用Maven來測試各種情況。

    我能做到這一點,或者我應該在我的測試移動到一個正常的(即非Junit的)計劃?

    感謝

  • +1

    您說明你想象中的問題的解決方案。如果你告訴我們實際問題是什麼,我們可能會提供更好的想法/替代方案。 –

    回答

    1

    如果需要用戶輸入這是不是一個真正的單元測試 - 不要把它當作這樣的。

    成全它作爲一個簡單的程序,這是很容易運行,然後在需要時做了測試。這是沒有意義的包括你的身材,所以應該在不同的計劃運行 - 而不是每構建的事,但更符合您的開發過程 - 每天,新功能等

    +2

    是的,它不是一個真正的單元測試,語義是完全不同的我就像運行設施。我想知道在JUnit中這是否可行,我想我會把它作爲一個程序。 – xpapad