Edge Computing with Cloudflare Workers & Deno · บทเรียน

การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้

สร้างกลยุทธ์การทดสอบที่ครอบคลุมและไปป์ไลน์การผสานรวมอย่างต่อเนื่อง/การนำไปใช้งานอย่างต่อเนื่องสำหรับแอปพลิเคชันใกล้ผู้ใช้

บทเรียน 3 จาก 411 ขั้นตอน

การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้ เป็นบทเรียน Edge Computing with Cloudflare Workers & Deno ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Edge Computing with Cloudflare Workers & Deno และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Edge Computing with Cloudflare Workers & Deno มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Why Test Edge Applications?

Developing for the edge introduces unique challenges like distributed deployments, varying network conditions, and diverse user locations. Thorough testing is crucial to ensure your edge applications are robust and reliable.

Without proper testing, subtle bugs can lead to inconsistent behavior across different regions, impacting user experience and application stability.

Unit Testing Edge Logic

Unit testing focuses on individual functions or modules in isolation. For Cloudflare Workers, this means testing the core logic of your request handlers or utility functions without deploying them.

  • Cloudflare Workers: Tools like Miniflare allow you to simulate the Worker environment locally, enabling fast unit and integration tests.
  • Deno: Deno has a built-in test runner (deno test) that makes writing and executing unit tests straightforward.

Deno Unit Test Example

Here's a simple Deno module with a function and a corresponding unit test. Deno's test runner can execute tests defined directly within your files or in separate test files.

To run this code: Save as greet.ts, then run deno run greet.ts for the main logic or deno test greet.ts for the tests.

export function greet(name: string): string {
  return `Hello, ${name}!`;
}

// This block runs when executed as a script (deno run)
if (import.meta.main) {
  console.log(greet("CoddyKit Learner"));
}

// Import Deno's built-in assert module for testing
import { assertEquals } from "https://deno.land/std@0.211.0/assert/mod.ts";

// Define a test suite using Deno.test
Deno.test("greet function returns correct greeting", () => {
  // Use assertEquals to check expected outcomes
  assertEquals(greet("World"), "Hello, World!");
  assertEquals(greet("Alice"), "Hello, Alice!");
  assertEquals(greet(""), "Hello, !");
});

Integration Testing Workers

Integration testing verifies that different parts of your edge application work together correctly. This could involve:

  • A Worker interacting with Cloudflare KV for data storage.
  • A Worker communicating with a Durable Object for state management.
  • Multiple Workers chained together via service bindings.

These tests often require a more comprehensive local environment simulation, like that provided by Miniflare for Cloudflare Workers.

End-to-End Testing for Edge Apps

End-to-End (E2E) testing simulates real user scenarios, covering the entire flow from client interaction through your edge application and back. For edge apps, E2E tests are vital to:

  • Verify global routing and caching behavior.
  • Test interactions with external services or APIs.
  • Ensure consistent performance and functionality across different geographic regions.

Tools like Playwright or Cypress can be adapted for E2E testing of edge deployments.

CI/CD Pipelines for Edge

Continuous Integration (CI) and Continuous Deployment (CD) are practices that automate the building, testing, and deployment of code. For edge applications, CI/CD ensures rapid, reliable, and consistent delivery of updates.

  • CI: Automates code integration, running tests, and building artifacts.
  • CD: Automates the deployment of validated code to production or staging environments.

This automation minimizes manual errors and speeds up the release cycle.

CI for Cloudflare Workers

A typical CI pipeline for Cloudflare Workers using tools like GitHub Actions might involve:

  1. Checkout Code: Fetch the repository.
  2. Install Dependencies: Run npm install or yarn install.
  3. Linting: Check code style and potential errors (e.g., ESLint).
  4. Run Tests: Execute unit and integration tests (e.g., using Miniflare or deno test).
  5. Build Worker: Use wrangler build to prepare the Worker for deployment.

If any step fails, the CI pipeline stops, preventing faulty code from progressing.

CD for Cloudflare Workers

After successful CI, the CD pipeline takes over to deploy your Worker. This often involves:

  1. Authenticate: Log in to Cloudflare using API tokens (stored securely as secrets).
  2. Deploy: Use wrangler deploy to push the built Worker to the Cloudflare edge network.
  3. Environment Management: Deploy to a staging environment for further testing before promoting to production.
  4. Rollback: Implement strategies to quickly revert to a previous working version if issues arise post-deployment.

CD ensures your users always get the latest, validated version of your application.

CI/CD for Deno Deploy

Deno Deploy offers a highly streamlined CI/CD experience, often simplifying the process compared to other platforms:

  • GitHub Integration: You can directly link a GitHub repository to Deno Deploy.
  • Automatic Deployments: Every push to a specified branch (e.g., main) automatically triggers a new deployment.
  • Instant Rollback: Deno Deploy keeps a history of deployments, allowing for one-click rollbacks to previous versions.

While simpler, you still integrate your Deno unit and integration tests into your GitHub Actions CI flow before Deno Deploy takes over for CD.

Edge CI/CD Check

Which of the following are key benefits of implementing CI/CD pipelines for edge applications?

Testing & CI/CD Summary

In this lesson, we explored the critical importance of testing and CI/CD for robust edge applications. We covered unit, integration, and E2E testing strategies, and delved into how CI/CD pipelines streamline the development and deployment process for both Cloudflare Workers and Deno Deploy.

By embracing these practices, you can build and deliver high-quality, reliable, and performant edge applications with confidence.

เริ่มต้นได้ฟรี

เรียนรู้ Edge Computing with Cloudflare Workers & Deno ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
47

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

บทเรียน “การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้”

สร้างกลยุทธ์การทดสอบที่ครอบคลุมและไปป์ไลน์การผสานรวมอย่างต่อเนื่อง/การนำไปใช้งานอย่างต่อเนื่องสำหรับแอปพลิเคชันใกล้ผู้ใช้ คุณปฏิบัติ Edge Computing with Cloudflare Workers & Deno ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Edge Computing with Cloudflare Workers & Deno หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Edge Computing with Cloudflare Workers & Deno บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Edge Computing with Cloudflare Workers & Deno นี้ได้ไหม

ได้ บทเรียน Edge Computing with Cloudflare Workers & Deno ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. Deno Deploy และ CLI
  2. สภาพแวดล้อมรันไทม์แบบกำหนดเอง
  3. การทดสอบและ CI/CD สำหรับระบบใกล้ผู้ใช้
  4. การปรับใช้แบบน้ำเงิน-เขียวและทยอยเปิดใช้งาน
← กลับไปที่ Edge Computing with Cloudflare Workers & Deno