開始使用免費開始

單元測試:外匯市場

來練習在銀行情境中建立與設定模擬物件吧!請完成 ExchangeApp 的單元測試;它會使用 European Central Bank。因為你要測試的是 convertEuroTo() 的邏輯,所以不要模擬它。本次要模擬的是它的相依物件,這樣你就能檢查該邏輯是否正確運作!

所需的 JUnitMockito 套件都已為你匯入。

本練習屬於課程

Java 測試入門

檢視課程

練習說明

  • EuropeanCentralBankServer 建立一個模擬物件(mock)。
  • 使用正確語法將模擬物件設定為回傳 12345.0
  • 驗證貨幣轉換能回傳預期的結果。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

class Main {
    public static void main(String[] args) {
        launchMockitoTestsAndPrint(ExchangeAppTest.class);
    }
}

class ExchangeAppTest {
    @Test
    void convertEuroTo_convertsTST() {
        // Create a mock object for the EuropeanCentralBankServer
        EuropeanCentralBankServer bank = ____(EuropeanCentralBankServer.class);
        ExchangeApp exchangeApp = new ExchangeApp(bank);
        double euroAmount = 100;
        // Stub the mock to return a value for given input
        ____(exchangeApp.convertEuroTo("TST", 100)).____(12345.0);

        double tstAmount = exchangeApp.convertEuroTo("TST", euroAmount);

        System.out.println("Converted " + euroAmount + " EUR to " + tstAmount + " TST.");
        // Assert on the exact expected value of tstAmount
        ____(1234500, ____);
    }
}
編輯並執行程式碼