เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Unit test: ตลาดแลกเปลี่ยนเงินตราต่างประเทศ

มาฝึกสร้างและกำหนดพฤติกรรม mock ในบริบทของระบบธนาคารกัน! เขียน unit test ให้ครบสำหรับ ExchangeApp ซึ่งใช้งาน European Central Bank โดยขณะที่ทดสอบลอจิกของ convertEuroTo() อย่า mock เมธอดนี้โดยตรง แต่ให้ mock dependency ของมันแทน เพื่อตรวจสอบว่าทำงานได้ถูกต้อง

แพ็กเกจ JUnit และ Mockito ที่จำเป็นได้ถูก import ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทดสอบใน Java เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง mock สำหรับ EuropeanCentralBankServer
  • ใช้ syntax ที่ถูกต้องเพื่อกำหนดให้ 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, ____);
    }
}
แก้ไขและรันโค้ด