始める無料で始める

ユニットテスト:外国為替市場

銀行業務の文脈で、モックの作成とプログラミングを練習しましょう! ヨーロッパ中央銀行を利用する ExchangeApp のユニットテストを完成させてください。convertEuroTo() のロジックをテストしているので、これ自体はモック化しません。代わりに、その依存関係をモック化して、正しく動作するか確認しましょう!

必要な JUnitMockito のパッケージはすでにインポート済みです。

この演習はコースの一部です

Javaによるテスト入門

コースを見る

演習の手順

  • EuropeanCentralBankServer のモックを作成します。
  • モックが 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, ____);
    }
}
コードを編集して実行