0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · บทเรียน

การเรียกใช้การทดสอบด้วย GitHub Actions

ผสานการทดสอบหน่วยและการทดสอบการผสานรวมแบบอัตโนมัติเข้ากับไปป์ไลน์ CI เพื่อรับรองคุณภาพโค้ดและป้องกันปัญหาเดิมกลับมา

การเรียกใช้การทดสอบด้วย GitHub Actions เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงทำการทดสอบอัตโนมัติใน CI

ลองจินตนาการว่าคุณแก้ไขโค้ดแล้วทราบทันทีว่าการแก้ไขนั้นทำให้ส่วนอื่นเสียหายหรือไม่ นี่คือพลังของการทดสอบอัตโนมัติในไปป์ไลน์ CI ของคุณ!

การผสานรวมอย่างต่อเนื่อง (CI) คือการผสานการเปลี่ยนแปลงโค้ดเข้ากับที่เก็บโค้ดส่วนกลางอยู่เป็นประจำ การทดสอบอัตโนมัติคือกลไกสำคัญที่ช่วยดูแลกระบวนการนี้

การทดสอบเหล่านี้ช่วยตรวจพบข้อบกพร่องตั้งแต่เนิ่น ๆ ให้ผลตอบรับอย่างรวดเร็ว และสร้างความมั่นใจในการเปลี่ยนแปลงโค้ดทุกครั้ง

ประเภทของการทดสอบในไปป์ไลน์ของคุณ

เมื่อพูดถึงการทดสอบอัตโนมัติ มักจะมีการทดสอบหลักอยู่สองประเภท ได้แก่ การทดสอบหน่วยย่อยและการทดสอบการผสานรวม

  • การทดสอบหน่วยย่อย: มุ่งเน้นส่วนเล็ก ๆ ที่แยกเป็นอิสระของโค้ด เช่น ฟังก์ชันหรือเมธอดเดียว การทดสอบประเภทนี้ทำงานได้รวดเร็วและระบุปัญหาได้อย่างแม่นยำ
  • การทดสอบการผสานรวม: ตรวจสอบว่าส่วนต่าง ๆ ของระบบทำงานร่วมกันได้อย่างถูกต้องหรือไม่ เช่น การที่โค้ดของคุณโต้ตอบกับฐานข้อมูลหรือ API

การทดสอบทั้งสองประเภทมีความสำคัญอย่างยิ่งต่อการทำให้ซอฟต์แวร์ของคุณแข็งแกร่งและเชื่อถือได้

การทำการทดสอบอัตโนมัติด้วย GitHub Actions

GitHub Actions สามารถทำหน้าที่เป็นตัวเรียกใช้การทดสอบส่วนตัวของคุณ โดยเรียกใช้การทดสอบโดยอัตโนมัติทุกครั้งที่คุณส่งโค้ดใหม่ขึ้นไป

คุณกำหนดเวิร์กโฟลว์ที่ระบุว่าจะทำงานเมื่อใด ใช้สภาพแวดล้อมใด และเรียกใช้คำสั่งใด

วิธีนี้ช่วยให้การเปลี่ยนแปลงทุกครั้งได้รับการตรวจสอบอย่างสม่ำเสมอโดยไม่ต้องดำเนินการด้วยตนเอง

การเตรียมโครงการ Java สำหรับการทดสอบ

เพื่อสาธิต เราจะใช้โครงการ Java อย่างง่ายที่จัดการด้วย Maven ซึ่งเป็นเครื่องมือทำให้กระบวนการสร้างเป็นอัตโนมัติที่ได้รับความนิยม

Maven ช่วยจัดการการพึ่งพาของโครงการ และมีคำสั่งสำหรับคอมไพล์โค้ดและเรียกใช้การทดสอบ

โครงการของเราจะมีคลาส Java อย่างง่ายและการทดสอบ JUnit ที่สอดคล้องกันในเชิงแนวคิด

ตัวอย่างการทดสอบแรกที่เรียกใช้ได้

นี่คือตัวอย่างคลาส Java อย่างง่ายและการทดสอบพื้นฐานสำหรับตรวจสอบการทำงานของคลาส เราจะจำลองการทดสอบหน่วยย่อยโดยไม่ตั้งค่า JUnit อย่างเต็มรูปแบบเพื่อให้ตัวอย่างเรียบง่าย

เมธอด main ทำหน้าที่เป็นตัวเรียกใช้การทดสอบของเรา โดยตรวจสอบว่าเมธอด add ทำงานตามที่คาดไว้หรือไม่

ลองเรียกใช้เพื่อดูผลลัพธ์!

public class Calculator {
  // Method to be tested
  public int add(int a, int b) {
    return a + b;
  }

  public static void main(String[] args) {
    Calculator calc = new Calculator();
    // Simulate a test case
    int expected = 5;
    int actual = calc.add(2, 3);

    if (actual == expected) {
      System.out.println("Test Passed: 2 + 3 = " + actual);
    } else {
      System.out.println("Test Failed: Expected " + expected + ", Got " + actual);
    }
  }
}

การสร้างเวิร์กโฟลว์การทดสอบ

ตอนนี้มาดูกันว่าไฟล์เวิร์กโฟลว์ของ GitHub Actions (.github/workflows/test.yml) สำหรับเรียกใช้การทดสอบของเราจะมีหน้าตาอย่างไร

ไฟล์ YAML นี้กำหนดขั้นตอนที่ GitHub Actions จะดำเนินการเพื่อตั้งค่าสภาพแวดล้อมและเรียกใช้คำสั่งการทดสอบของเรา

เราจะใช้คำสั่ง test ของ Maven เพื่อเรียกใช้การทดสอบ JUnit จริงในโครงการจริง

name: Java CI with Maven

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
          cache: maven
      - name: Run Maven Tests
        run: mvn test

ทำความเข้าใจแต่ละขั้นตอนของเวิร์กโฟลว์

มาดูรายละเอียดขั้นตอนสำคัญในเวิร์กโฟลว์การทดสอบของเรากัน

  • on: push / pull_request: เรียกใช้เวิร์กโฟลว์เมื่อมีการส่งโค้ดขึ้นไปหรือมีคำขอผสานโค้ดไปยังสาขา main
  • runs-on: ubuntu-latest: ระบุระบบปฏิบัติการสำหรับเครื่องเสมือน (ตัวเรียกใช้) ที่เวิร์กโฟลว์จะทำงาน
  • actions/checkout@v4: แอ็กชันที่สร้างไว้ล่วงหน้าสำหรับดึงโค้ดจากที่เก็บโค้ดของคุณมาไว้บนตัวเรียกใช้
  • actions/setup-java@v4: แอ็กชันอีกตัวสำหรับตั้งค่า Java Development Kit (JDK) บนตัวเรียกใช้
  • run: mvn test: นี่คือขั้นตอนสำคัญ! ขั้นตอนนี้เรียกใช้คำสั่ง Maven เพื่อคอมไพล์โค้ดของคุณและเรียกใช้การทดสอบทั้งหมดที่กำหนดไว้

การจัดการการทดสอบที่ล้มเหลวใน CI

ประโยชน์สำคัญของการทดสอบใน CI คือการได้รับผลตอบรับทันที หากการทดสอบใดล้มเหลว งานเวิร์กโฟลว์ของ GitHub Actions ก็จะล้มเหลวด้วย

สิ่งนี้เป็นสัญญาณที่ชัดเจนว่าการเปลี่ยนแปลงโค้ดล่าสุดทำให้เกิดข้อบกพร่องหรือการถดถอย

จากนั้นคุณสามารถตรวจสอบบันทึกของเวิร์กโฟลว์เพื่อระบุได้อย่างแม่นยำว่าการทดสอบใดล้มเหลวและเพราะเหตุใด ซึ่งจะช่วยให้คุณแก้ไขปัญหาได้อย่างรวดเร็ว

ผลกระทบ: คุณภาพและความมั่นใจ

การผสานการทดสอบอัตโนมัติเข้ากับไปป์ไลน์ CI เป็นรากฐานสำคัญของการพัฒนาซอฟต์แวร์สมัยใหม่

กระบวนการนี้ช่วยป้องกันการถดถอยอย่างจริงจัง ทำให้คุณภาพโค้ดสม่ำเสมอ และลดความเสี่ยงในการนำฟีเจอร์ที่เสียหายขึ้นใช้งานได้อย่างมาก

กระบวนการนี้สร้างความมั่นใจในฐานโค้ดของคุณ ทำให้ทีมสามารถสร้างสรรค์สิ่งใหม่ ๆ ได้รวดเร็วและเชื่อถือได้มากขึ้น

การตรวจสอบเวิร์กโฟลว์การทดสอบ

พิจารณาเวิร์กโฟลว์ GitHub Actions ที่ออกแบบมาเพื่อเรียกใช้การทดสอบ จุดประสงค์หลักของขั้นตอน run: mvn test ในโครงการ Java คืออะไร

สรุป: การทดสอบในไปป์ไลน์ CI ของคุณ

ในบทเรียนนี้ เราได้สำรวจวิธีผสานการทดสอบอัตโนมัติเข้ากับไปป์ไลน์ CI ของ GitHub Actions

เราได้ครอบคลุมหัวข้อต่อไปนี้

  • ความสำคัญของการทดสอบอัตโนมัติต่อคุณภาพโค้ด
  • ความแตกต่างระหว่างการทดสอบหน่วยย่อยกับการทดสอบการผสานรวม
  • วิธีจัดโครงสร้างเวิร์กโฟลว์ GitHub Actions เพื่อเรียกใช้การทดสอบ Java โดยใช้ Maven
  • ความเข้าใจเกี่ยวกับขั้นตอนของเวิร์กโฟลว์ เช่น checkout และ setup-java
  • บทบาทสำคัญของ mvn test ในการเรียกใช้การทดสอบ
  • วิธีที่ GitHub Actions รายงานการทดสอบที่ล้มเหลว

การทดสอบอัตโนมัติมีความสำคัญอย่างยิ่งต่อการตรวจพบข้อบกพร่องตั้งแต่เนิ่น ๆ และการรักษาฐานโค้ดให้แข็งแกร่ง!

คำถามที่พบบ่อย

บทเรียน “การเรียกใช้การทดสอบด้วย GitHub Actions” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเรียกใช้การทดสอบด้วย GitHub Actions” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเรียกใช้การทดสอบด้วย GitHub Actions”

ผสานการทดสอบหน่วยและการทดสอบการผสานรวมแบบอัตโนมัติเข้ากับไปป์ไลน์ CI เพื่อรับรองคุณภาพโค้ดและป้องกันปัญหาเดิมกลับมา คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน CI/CD with GitHub Actions & DevOps Pipelines บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การเรียกใช้การทดสอบด้วย GitHub Actions” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม

ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์
  2. การเรียกใช้การทดสอบด้วย GitHub Actions
  3. การตรวจรูปแบบและตรวจสอบคุณภาพโค้ด
  4. การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง
← กลับไปที่ CI/CD with GitHub Actions & DevOps Pipelines