From b8f47056eb1726a41f30bc3ed4be494e3855bb6e Mon Sep 17 00:00:00 2001 From: gyulrangdev Date: Wed, 5 Mar 2025 18:23:41 +0900 Subject: [PATCH 1/2] test: sample-test --- src/sum.test.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/sum.test.ts diff --git a/src/sum.test.ts b/src/sum.test.ts new file mode 100644 index 0000000..8ab8119 --- /dev/null +++ b/src/sum.test.ts @@ -0,0 +1,42 @@ +import { describe, it, expect } from 'vitest'; +import { sum } from './sum'; + +describe('sum 함수', () => { + // 기본 기능 테스트 + it('두 양수의 합을 올바르게 반환해야 함', () => { + expect(sum(1, 2)).toBe(3); + expect(sum(10, 20)).toBe(30); + expect(sum(100, 5)).toBe(105); + }); + + // 경계값 테스트 + it('a의 경계값 테스트', () => { + expect(sum(0, 5)).toBe(5); // 최소값 + expect(sum(100, 5)).toBe(105); // 최대값 + }); + + // 음수 입력 에러 테스트 + it('a가 0보다 작으면 에러를 던져야 함', () => { + expect(() => sum(-1, 5)).toThrowError('0~100 사이의 값을 입력해주세요.'); + expect(() => sum(-10, 20)).toThrowError('0~100 사이의 값을 입력해주세요.'); + }); + + // 범위 초과 에러 테스트 + it('a가 100보다 크면 에러를 던져야 함', () => { + expect(() => sum(101, 5)).toThrowError('0~100 사이의 값을 입력해주세요.'); + expect(() => sum(150, 20)).toThrowError('0~100 사이의 값을 입력해주세요.'); + }); + + // b 값에 대한 테스트 (b에는 제약이 없음) + it('b는 어떤 값이든 허용해야 함', () => { + expect(sum(50, -10)).toBe(40); + expect(sum(50, 0)).toBe(50); + expect(sum(50, 1000)).toBe(1050); + }); + + // 소수점 테스트 + it('소수점 값 처리 테스트', () => { + expect(sum(10.5, 20.5)).toBe(31); + expect(sum(0.1, 0.2)).toBeCloseTo(0.3); // 부동소수점 오차 고려 + }); +}); \ No newline at end of file From b37bf9034a0eb2927ea48be78f89251922efd6f4 Mon Sep 17 00:00:00 2001 From: gyulrangdev Date: Wed, 5 Mar 2025 18:30:11 +0900 Subject: [PATCH 2/2] Chore: Add locatorjs --- package.json | 2 ++ src/main.tsx | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/package.json b/package.json index 4fd915b..68cce42 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "styled-components": "^6.1.11" }, "devDependencies": { + "@locator/babel-jsx": "^0.4.4", + "@locator/runtime": "^0.4.4", "@tanstack/router-devtools": "^1.44.4", "@tanstack/router-plugin": "^1.44.3", "@types/node": "^20.14.10", diff --git a/src/main.tsx b/src/main.tsx index 72190e4..d90e461 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -7,6 +7,7 @@ import 'react-toastify/dist/ReactToastify.css'; // Import the generated route tree import { routeTree } from './routeTree.gen'; import QueryClientWrapper from './QueryClientWrapper'; +import setupLocatorUI from '@locator/runtime'; // Create a new router instance const router = createRouter({ routeTree }); @@ -22,6 +23,9 @@ declare module '@tanstack/react-router' { const rootElement = document.getElementById('root')!; if (!rootElement.innerHTML) { const root = ReactDOM.createRoot(rootElement); + if (import.meta.env.VITE_APP_BUILD_ENV === 'development') { + setupLocatorUI(); + } root.render(