vitest

vitest

expect.extend

커스텀 매처를 만들고 싶을 때 사용됨

//expect-extend.ts
import { uuidRegExp } from '@__tests__/libs/reg-exp';
import { expect } from 'vitest';

expect.extend({
  toBeUuid(recived) {
    const { isNot } = this;
    
    const pass = uuidRegExp.test(received);
    const message = () => `expected ${received} to ${isNot ? ' not ' : ''} be uuid`;
    return {
      pass,
      message,
    }
  },
  
 toBeCloseDate(received, expected: Date) {
   const { isNot } = this;
   
   const min = 1;
   const range = min * 60 * 1000;
   
   const pass = (() => {
     if (!(received instanceof Date)) return false;
     const diff = received.getTime() - expected.getTime();
     const absDiff = Math.abs(diff);
     if (absDiff > range) return false;
     return true;
   })();
 }
})

test.each

여러 개의 입력값을 사용하여 같은 테스트를 반복 실행할 때 쓰는 기능

Last updated