Vue 3.0/03.SFC와 Vite [vue 3] 09. VTU를 통한 TODO 단위테스트 - 이번 포스트에서는 vitest와 VTU를 이용해 TODO 앱에 대한 단위테스트를 작성해보자. Todo 단위테스트 Todo App 이전에 작성했던 Todo App을 대상으로 단위테스트를 처리해보자. https://goodteacher.tistory.com/659 [Vue 3] 03.Vite 기반의 Vue 개발 2 이번 포스트에서는 Vite 기반 프로젝트에서 간단한 코딩을 해보자. 소스 코드 작성 src의 구조 먼저 src의 구조에 대해 살펴보자. Vue 애플리케이션은 index.html에서 main.js를 로딩하고 main.js에서 App.vue goodteacher.tistory.com 테스팅 이후의 테스트들은 테스트만 첨부한다. 여러 API를 써보기 위한 목적이기 때문에 TDD등과는 거리가 멀다는 점을 참고하기 바란다. 내용은 간단하기 때문에 분석이 어렵지는 않다. import { describe, test, expect } from 'vitest' import { shallowMount } from '@vue/test-utils' import App from '@/App.vue' describe('App.vue test', () => { test('초기 로딩 시 할일에 study 하나가 완료 상태로 등록되어있다.', () => { const wrapper = shallowMount(App) const labels = wrapper.findAll('ul>li>label') expect(labels).toHaveLength(1) const checkbox = labels[0].find("[type='checkbox']") expect(checkbox.wrapperElement.checked).toBeTruthy() const span = labels[0].find('span') expect(span.text()).toBe('study') }) test('할일을 입력하고 추가 버튼을 클릭하면 할일이 추가된다.', async () => { const wrapper = shallowMount(App) await wrapper.find('[type=text]').setValue('추가된 할일') await wrapper.find('button').trigger('click') const labels = wrapper.findAll('ul>li>label') expect(labels).toHaveLength(2) expect(labels[1].find('[type=checkbox]').wrapperElement.checked).toBeFalsy() expect(labels[1].find('span').text()).toBe('추가된 할일') expect(wrapper.find('.dash>span>span').text()).toBe('1') }) test('체크박스를 해지하면 미완성 할일 목록이 1 증가한다.', async () => { const wrapper = shallowMount(App) const preRemain = parseInt(wrapper.find('.dash>span>span').text()) await wrapper.find('[type="checkbox"]').setValue(false) expect(parseInt(wrapper.find('.dash>span>span').text())).toBe(preRemain + 1) }) }) 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기모두의 코딩 저작자표시 비영리 변경금지 Contents Todo단위테스트 TodoApp 테스팅 당신이 좋아할만한 콘텐츠 [vite] assets 이미지 가져오기 2023.11.03 [vue 3] vite의 환경변수와 모드 2023.10.26 [vue 3] 08. VTU를 이용한 vue test 2023.10.16 [vue 3] 07. vitest를 이용한 단위 테스팅 4 2023.10.15 댓글 0 + 이전 댓글 더보기