# λ·° ν μ€νΈ μ½λ μμνκΈ°
μμμ μ€μΉν λ·° ν μ€νΈ μ νΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄μ©νμ¬ κ°λ¨ν ν μ€νΈ μ½λλ₯Ό μμ±ν΄λ³΄κ² μ΅λλ€.
# λ·° μ»΄ν¬λνΈ ν μ€νΈ μ½λ μμ
μλμ μ½λλ₯Ό κ°μ§κ³ npm t
λ₯Ό μ€νν©λλ€.
<!-- HelloWorld.vue -->
<template>
<div>Hello {{ message }}</div>
</template>
<script>
export default {
data() {
return {
message: 'Vue!'
}
}
}
</script>
// helloworld.test.js
import Vue from 'vue';
import HelloWorld from './HelloWorld.vue';
test('HelloWorld Component', () => {
const cmp = new Vue(HelloWorld).$mount();
expect(cmp.message).toBe('Vue!');
});
μ½λκ° μ€νλλ©΄ HelloWorld μ»΄ν¬λνΈκ° μ μμ μΌλ‘ λ‘λ©λλ©΄μ ν μ€νΈκ° ν΅κ³Όλ©λλ€.
TIP
HelloWorld
μ»΄ν¬λνΈ νμΌ κ²½λ‘λ₯Ό μ£ΌμνμΈμ.
# λ·° ν μ€νΈ μ νΈ APIλ₯Ό μ΄μ©ν μ»΄ν¬λνΈ ν μ€νΈ
μμμ μ΄ν΄λ³Έ ν
μ€νΈ μ½λμ λ²κ±°λ‘μ΄ μ μ μ»΄ν¬λνΈμ κΈ°λ₯μ ν
μ€νΈνκΈ° μν΄
λ§€λ² λ·° μΈμ€ν΄μ€λ₯Ό μμ±νκ³ $mount()
APIλ₯Ό νΈμΆν΄μΌ νλ€λ μ μ
λλ€.
λ€ννλ λ·° ν
μ€νΈ μ νΈ λΌμ΄λΈλ¬λ¦¬μμ μ΄ λ°λ³΅ μμ
μ νΈνκ² ν΄μ£Όλ APIλ₯Ό μ 곡ν©λλ€.
λ°λ‘ shallowMount()
μ mount()
μ
λλ€. μ΄ λ APIμ μ°¨μ΄μ μ Testing Applications - API μ±ν°μμ μ΄ν΄λ³΄λλ‘ νκ³ , λ¨Όμ shallowMount()
APIλ₯Ό μ¬μ©ν΄λ³΄κ² μ΅λλ€.
μμμ μ΄ν΄λ³Έ μ½λμ shallowMount()
APIλ₯Ό μ μ©ν΄λ΄€μ΅λλ€.
// helloworld.test.js
import { shallowMount } from '@vue/test-utils';
import HelloWorld from './HelloWorld.vue';
test('HelloWorld Component', () => {
const wrapper = shallowMount(HelloWorld);
expect(wrapper.vm.message).toBe('Vue!');
});
λ·° ν
μ€νΈ λΌμ΄λΈλ¬λ¦¬μμ shallowMount()
APIλ₯Ό λΆλ¬μ¨ ν HelloWorld μ»΄ν¬λνΈμ message
μμ±μ ν
μ€νΈ νμμ΅λλ€. μμ μ΄ν΄λ³Έ μ½λμ μ°¨μ΄λλ λΆλΆμ μλμ κ°μ΅λλ€.
// λ·° ν
μ€νΈ μ νΈ APIλ₯Ό μ¬μ©νμ§ μμ κ²½μ°
const cmp = new Vue(HelloWorld).$mount();
// λ·° ν
μ€νΈ μ νΈ APIλ₯Ό μ¬μ©ν κ²½μ°
const wrapper = shallowMount(HelloWorld);
new Vue().$mount()
λ‘ μ κ·Όνλ νμμ mount()
λ‘ κ°μν νμμ΅λλ€.
# μ»΄ν¬λνΈ ν μ€ν κ΄λ ¨ API
μμμ μ΄ν΄λ³Έ shallowMount()
API μ΄μΈμ mount()
APIλ ν
μ€νΈ ν λ μμ£Ό μ¬μ©λ©λλ€.
shallowMount()
λ μ§μ λ μ»΄ν¬λνΈμ λ΄μ©λ§ ν
μ€νΈν λ μ¬μ©νκ³ ,
mount()
λ ν΄λΉ μ»΄ν¬λνΈμ λ±λ‘λ νμ μ»΄ν¬λνΈμ λ΄μ©λ€κΉμ§ νμΈν λ μ¬μ©ν©λλ€.
λ μμΈν λ΄μ©μ Testing Applications - APIμμ μμλ³΄κ² μ΅λλ€.