开始使用免费开始使用

单元测试:外汇市场

来在银行场景中练习创建和编程模拟对象吧!请为使用 European Central Bank 的 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, ____);
    }
}
编辑并运行代码