TypeScript:
การเขียนการทดสอบ

วิธีการ:

TypeScript ทำงานร่วมกับเฟรมเวิร์กการทดสอบ JavaScript ส่วนใหญ่ได้อย่างลงตัว เพื่อการสาธิต เราจะใช้ Jest, เฟรมเวิร์กการทดสอบที่ได้รับความนิยม เนื่องจากมีการตั้งค่าเริ่มต้นศูนย์สำหรับโปรเจกต์ TypeScript

ก่อนอื่น ตรวจสอบให้แน่ใจว่าคุณมี Jest และประเภท TypeScript ที่จำเป็นต้องติดตั้งไว้:

npm install --save-dev jest typescript ts-jest @types/jest

ต่อไป ตั้งค่า Jest ให้ทำงานร่วมกับ TypeScript โดยการแก้ไข jest.config.js หรือหากสร้างใหม่:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};

ตอนนี้ มาเขียนฟังก์ชั่นและการทดสอบสำหรับฟังก์ชั่นนั้น เป็นต้นว่า มีไฟล์ sum.ts ด้วยฟังก์ชั่นดังต่อไปนี้:

// sum.ts
export function sum(a: number, b: number): number {
  return a + b;
}

สร้างไฟล์ทดสอบชื่อ sum.test.ts:

// sum.test.ts
import { sum } from './sum';

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

รันการทดสอบของคุณด้วย:

npx jest

ผลลัพธ์ตัวอย่างที่บ่งชี้การทดสอบผ่านควรมีลักษณะดังนี้:

 PASS  ./sum.test.ts
  ✓ adds 1 + 2 to equal 3 (2 ms)

สำหรับโค้ดแบบ asynchronous Jest รองรับด้วย async/await สมมติว่าคุณมีฟังก์ชั่น fetchData แบบ asynchronous:

// asyncFunctions.ts
export async function fetchData(): Promise<string> {
  return "data";
}

การทดสอบของคุณโดยใช้ฟังก์ชั่นแบบ asynchronous:

// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';

test('fetches data successfully', async () => {
  expect(await fetchData()).toBe('data');
});

เมื่อรันการทดสอบ เจสต์จะรอให้พรอมิสทำงานเสร็จ ทดสอบการดำเนินการแบบ asynchronous ได้อย่างถูกต้อง

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