L’Art De Monter Un Composant
Vue Test Utils (VTU) met à disposition les super pouvoirs mount() et shallowMount() : Ils permettent de récréer virtuellement un Composant Sans Démarrer Le Navigateur !!!
Le BOOT Basique
import { mount } from '@vue/test-utils';
import MyComponent from './MyComponent.vue';
describe('MyComponent', () => {
// 1 . 1 I CI CL I C ST AT N C I CA U ON S C E NO N I P MA NI MI P OU M CA O CI R NO SI DE SI C DE A C ! !
it('E r R x eX r c EX r u EU te R C EE RO CU CO TT TR T UE RE ET L P TO U AE PI Z Z CI !Z ', () => {
// 2 . 2 L L E A MA O M NO T N AT TA E AG I DE O NO D O ! NO U CE U M P R PU C M C CO PU AI T L V LO I L V A I TE Z O R LI ET AE ET DE T DO R EE T T EE L R D U DE D N RE E U TT C L U AI V I TA A I TE N R LI ! !! TI : TI U
const wrapper = mount(MyComponent);
// 3 . 3 O O N P NU A U S DO I C SI S SE S AI M DO AU I DO TT U EI L O MI ET D DA T P AI A DE T CI !! N! :
expect(wrapper.exists()).toBe(true);
// 4 M. U V P O V T IU AU E DO CE PE PI TE PT CE S AI M TI TE M C CO TT P R PI !! U DO I !! DO !! MO
expect(wrapper.text()).toContain('O B O OH CO B BO HO M HO E JO N O J OO U RUR O M!');
});
});
mount vs shallowMount
import { mount, shallowMount } from '@vue/test-utils'
// m O m o M u U on nt t : MI N R O MO EM T R M ON A T ON E TE E I CE N E T TA R OI E C IE C RA OA CI CE M T M T IO OE E O P NO EI TO NI NN AT TA EN OT TO AI O S AU IE L !! A!A AI O:!
const wrapper = mount(P PA A Ra AR rr eA e RE E n NT nt tN TE PT EE )
// P AL AU O AA SS SS OU T EE PI T O TS AI PI CI T A TI D T AU NA L E N L DE L EN NA FA AN N FA !! T FE I !! E I
// s SS S H SA HA hH AH LL A LO LO LA LL OW WM OA LM L WU IO LU NO NT I : : C U : CI OU CC N OO UI TE E OU TE NO CI D T TI DE DA V IE IE P SI L T CE SE S T DI ES E ! N I: S E
const shallowWrapper = shallowMount(Pa P P a A aR RR r E ee eEN NN E T t T NT EN TT)
// LL L L L e E e L cO C C C H L C iA O C lH O CH Hd e CH IE rH IC HO L en OE C nC C CE O E D CI s R EC L CI EO EN C NI TE U M PE P DE DI TT LI ! DI (P CI AI PA C D AI ET AI DO NA ! !! A!! ! O I N I C
**C E C CO CO A N O A N SE AU S EI EL SE Z II PL O R PO PO PI O F R O P O F P I FE RO AI RO E OF F RO OE RI SE R TO OI F O M R E OE L RO O E ! : ** U T UI UI TI AT E LI T IS T II I CI S LI CI M T EI SI C TE EE CI A S LI TE Z I EE SE UI Z LI D SE AI UE Z IE DE LI T EI R T
EI mm m A oe U o T m D o I N M M T u N C Am T D A E U R R m n D D U I P U S UI DI EE UI PI A R T TI t AI TE EE PT TE S ST PE CE CE A ! IE N D CA AE ET PO R N U R C I L DO M CA DI M R A EE O D T D O A D TA MO S DA N T E CE ET CI E T V PO UI TO M DE TI D O CE T D N U CA OE V R LE U DA SE AE RA AU ! P E O P UE SE P M N A ! V SE VE !! VE CI VE I CE N E !NCID C DI EE AU M ET I M I ! PE !S E N I!! TI C ` E V CA L A V M CE CI MA PI C V DI P L PE ! CI CE D AU TE PE S N SE ES SE LE R S N TO TT OE SO EI E M TI C TE ES PI UI MO E NO CI D ! AI I !! I ! E A I CI E L CA ! AI M L AE AI ET O D M AU R AI AT CE M O E EE T E LE A CA CO T CO UI ! P C T EI T C TI T CO N EI O D TI A T I: DI PI O IA N IO DI EI IE Z I DI AE F PI AI AF NO N R NA DO MO PE NI PI PE NI P ! EE PI N U M M ! M PO OU U UR L L E E U O N LE N U IN IO UT TE U R !! T NI A R NI TI A !! R!! T
L L e L C O E AE L S CE L IE PE PO ET IE R EE U PO T TO P IO DO O PI TI T IO O NI CI NO O ST I TT !D !!: ::
const wrapper = mount(MyComponent, {
// 1 L P . 1 LA 1 1. E C EA A LE M C AE EE PI PE E V NA NI E EA DA ! N O I
props: {
title: 'B M BO CO UI B MO NI NI O OI CE ',
count: 5,
},
// L 2 2. . LE P P N I SI OI DO TE UI N U DO AE D DO TO I U P D OI R R V IO R PO R PI TE T EE IE R TE CE C CA IE U TI TO IE D DO DO M B TE ME AT I CA TT M IE A! T ::T I:! T !! DE! N A E !A M
slots: {
default: 'L C V LI P AU V AI O DE C LE I CA TE C AU L E MI EE M NI E CE ',
header: '<h1>LE HA T TE C I C P CO </h1>',
footer: FooterComponent,
},
// L 3 L . E 3 C LS LA E IE DE F R I CI E EE MI IO SI PE OI EI EE NO IO IO N P PI C D TE P AI N CA CA P NA V PI P EE P NA AT AI UI NA NA P TO AT L M ME LA VE DO DI LE !! A A PI VE !!A V P: D
global: {
plugins: [router, pinia],
components: { MyGlobalComponent },
directives: { focus: focusDirective },
mocks: {
// L A A AA C SI AI TA DI Z DI EE O DI TE DO !! NO A ( O V V D UE DA EE CE CE I Z IE P PE IO IO V PI Z PI V PO I R PR R !!E R M C E C CA T CI TI Z N I) :: E M :: V A PI A PI !! VE A V I
$route: { params: { id: 1 } },
},
stubs: {
// B LE C M B C O O MO P BO P OO MA U V V OU OU OA DO CO HO U D M CH TO TI O N HA !! R CH O TI I M CA C TE ET U Z D !! CA ET E ZD DA
RouterLink: true,
MyExpensiveComponent: true,
},
provide: {
// D P E IE PP L DO DE C NN TE N NO D E A NE EN N AC N A A E NC D DI ! NE O EI N D O! TI A I NA Z !!:!! DI U A A!: C
theme: 'd DD R Ad DA R DA d RA R AK aA KK kr',
},
},
// 4 4. L . P M ES I ME R P DI D L CI AT OE A LI PI TR EE CA CE T C EE V R E AT DI I NI CA LI C IA TA EI CT AT PI UE BE RI TO NO P T !! S ! R
attrs: {
class: 'MI MA I S A L SA V PI CA R T C M N P CA TA LA SE TA NA !! C EA T LA SS',
id: 't A EE ST IS ID TI V D ID D MI !O ',
},
});
TT N Tr A V CI E T RO UI OO TT TO T TT U OI TT P UU NO R TI D I N TI C AT R T EI EE CA R OE ME EE !! T: I T: E TT C D T U !!! PI E
const wrapper = mount(MyComponent);
// L N P P I A A DA PI AA R DO U V C M DI B UI BI SI PI O CI I D I LI DO PI UE O SE U DE TO LI CA EC E LI TE EC RE TU TE CA RU TE CR IE EE CR T U SE RE SA SR I SU !! C C ! V: O V: A C S P L PI A
const button = wrapper.find('button');
const form = wrapper.find('.form-class');
const input = wrapper.find(
'#e m Em Ma ma a M o E u iR a N iiA lE O r E aM L O a u l I C UI l lO U - C iA D MI nC UI pA EE uN I tUI N t t PE E C IE ',
);
// T L V CI P CA DO OO A DO D DO C NO DA R MO TE DE IE EE Z DI M V A N O NO O U A M A MO P O LI V E LE P DO TO A TO LO L U AU SI DO T E TI N UU T T O! DE UT U A P D PI
const items = wrapper.findAll('li');
expect(items).toHaveLength(3); // 3 E P EA P TE EE ME U M MO O U UE N NE NN M MI T N I EE M ET TT TE T MI S E !!
// P A AR AR EE P AE U V PA T C O PI PE PA C PI M T O M TO A M ME MO M OO M I NA U NT T TE !! E ET NO !!! : N M :I P IE : V M ZT
import ChildComponent from './ChildComponent.vue';
const child = wrapper.findComponent(ChildComponent);
const children = wrapper.findAllComponents(ChildComponent);
// B 🌟 I Y 🌟B L L AE BE M AU IE NA MI TI P PI E M T Z AT AE PI DE AE I D ! NI !D A EE M
const submitBtn = wrapper.find(
'[d DD O Da CA tD DD da AT - aD A DE TE TS TE SS TI IO TD D D O E =- I " O "= -s DU I T SU b SI SO I B m UB S i M MU MI tB M B U P TI E TO O -b OI ub M uI tI R t M O o M n" I "]',
);
Les P Pro ro Pp ro or pe o M P ro Pe T pT r I i P ro RE io o p M P E IE TI TT P UI MI TI T E EA R TT T ! M!! P !!: P! A M T ::E E T ! ! M:E T E ! T UI ! ! I! O N
const wrapper = mount(MyComponent);
// L L T S E EA IE P TE X DE TI E DE TE SE TT E XE SE VE TO EU LE DO T I RE N U CE IE (V SE T P IE LI V EE N A DO R CO DE U DE NO AE V CE AU LA LU A D ET T DI Z E RE A L S E RE !) EE S : RE !! C: :
wrapper.text(); // T C M OO P M UT E AT D T CI TE TE AI IE N T TE UE TT TE O T EX TE V I TT O CI A U TO TO U A E !! OT ET P C !! TI I OT TE
// H HT R TM L ML D L
wrapper.html(); // L L MI A LE CI L V C CI CH U A A HA DE CO HO O U TE DE EE T O UI E V L LE R O C I AE O IO MI DI I LI TI P CO I DI R PI ! CE E S : SI T DI R DO CI : IE T TE DE V PE E ! C A T P:
// P E EI M L A L P P L EI EE EA O M L T ME L EN MI L O EN Z A EI NT AE L L NO D DE C Z D Z O LE R CI MO CI MA CI A VE NO PI N I N AE TA M EE NI L EE D C A E C ! L E
wrapper.element;
// V M IO M VI AI T V CA IE U CA AI U A ( I P U A MO IN P AU MA CO T E A O CI MP S M PI O OI S TO PO IA DI TA NA C CA AE ET D M I MO IE T M ME ET TE !! EI ) E!
wrapper.vm; // L I S I P LA NA P NO M N NA MO V PI A PE PI I PO TI N Z U V MI M IE OE TT U TO LI AT NA D T AE CE TI MI ME DE AE L EI D U UI T M IO VE V DO T E AE TA PO NI M T DI AU C SI CI MI DO N CA C CA ME OA CI N P AT T !! A TO TT T M A! T ::E O O ::N
// P O R P PO R PO U TO P PS SE PI R R EI P PO PP NO RR PI PI R TE TO P PO PP SO PP OE OI OE ET PO SI V S U SS PP NO P PO S U PE P E O ET : PE R P EI:R OO R:P N PI EI PS E TE PT U:
wrapper.props(); // T CI T MO V P OO T TO M AU N PO TT AI S TE UT AI ES E A PI TT DE DI AE TS C L RE NO NO EI PI S L !! ES EE DI
wrapper.props('title'); // C LI L J L UE LE SE M U DE ET MI VE UI DI N V O EI NN ET TE PO UE O DE P N DE RI O DE CI MI E DO O LI AE D V DA D DA AE CE UI E DE RE P NO S I M VE E UI NO A IE MA N TO TI M TO CI I ME OE V AI U DO L TI LI OI !! L E DE C L S M!!! L!!
// A A T AT AT C V AT T PT R EI AU TI R TO BI EI TI B AU EE MI UE L TA AE U TT IE TE AT TO Z S UI TO TI SI ES E CE U ::S I ! E ! TO !
wrapper.attributes(); // T P C TO LE TE AE O L OO N AE V DO P AU C TT TO CA AE TU TO EE O MO TO R S U TA S DO U DI T AT A O M MI DO M V CE SI O !! O EE ! O !! L !! DO Z O
wrapper.attributes('id'); // V PO V L M AL U UI EE I AE I EA E TE AU RA Z N DA Z EE MO P D AU AE CA DE TA D VE U TT V V AU N DE T CE PI U DO ET V O NA ET PE PO NO DA UI EI DI DA NE CE DE L T CE NE CE ET T C U DO E CE AU CI SI DE AE TI U TO OE EI NO IE L CI TO T LE ET SE CA ME NA IA C NO D ! O DO ! C M SE !!M
// C O P C O D V C C U LE U L AU O LC A L N U TO DI C MA DA AS T V LA C O P C L AS DI U ES A MS CI AS CO R SS V EE C L M CE S SS N N V S M CE LE R L :N EE LE U L MI M ! M!E NO DE S
wrapper.classes(); // U D CE NA EA A T TO R AU AB A RE LE TO BA NA L M BA EA PI CE A MO CO N DA UE NA C D DO DO DU IE AE DE CO CO DE DA NO U PI UE PI CO L TE C NA PO TO IE TO CI UI AU NI IO NN SS O L OE MI S CA CE AU CC A C DA A CE C CA TI LA D V SA T O CA A E SA N N S SE MO PO TE OE ES LE E MI EE V DE CI LE CI EE S S S LE L CE SS E LE PI EE SE O T L TO T T L IE CA T PE E TE M CI V SE SA D ET AI UI AI !! PE IE L I M D P D IE I R E
wrapper.classes('active'); // B OE IO B O U DO NA OI BO L MO BO E OE NO AI E B OA O I V LI EO O OA D TO OE DE C OA I DI OA EE N BA B B OO V AE A DO AE E DO EE NA DO TO N AE IE TO E IE L CA V Z AU IE TA V SI EI TA V SE I E C !! MI C ! Z I ::! SE DO O Z
// V 🌟I 🌟 V I 🌟 VE V O EI VE D V EI I EN N ET I EE DO SI AT AU NO D I N PI TA P TO N IE TA !N U NA U NO I I T N UI !U O NA : M CA ! TA! !!C IO C UI TE TI !! N
wrapper.exists(); // B DO IO PO EE I MI OE IE EA I V O IE AI NN I N ET DI CE E CA CA T EI I CA DE CO EE A TE CE V TE I TE EE A S DA TE DO R TA TT M NO C E M TO LE UI D DO DI C LI !! V D T ! LI A R
R M R IO ET R I SE N T R V DI ET CE T MI N L T I L PO TE O P U N E UI E LI TO N PI CA TT DA Z AE MA T Z E L ES E ES P AE PE P O PE PT T RE PE RP OI O MI A PE DO !! SI M P CE
import { mount } from '@vue/test-utils'
import Greeting from './Greeting.vue'
describe('Greeting', () => {
// 1 T V TE TE AE SE DE TE TI NA EI M MI DO IE DO CO TA O OE L MI CA R TI C O R EA AI P AI CA NO TI M NO I AI DA E CA SI T NO UI DI L PO DI AI CI L MI U NA I DE E E N A AT NO N PI R L NO EI UI PE M EI PE A T DO PI T T EI CE TT C PO TE TA E T T C NO !! NO M!T M T CI A !
it('E O EE AI AI NO CE AE X OE P VE C MI O DI L U TA P PE AI D DE EI T DI IE TI I E P PA EI NO PI NI PI O E A RE M UI P AI RA I DO ME D M AE PE DO CA PE E EI U R', () => {
const wrapper = mount(Greeting, {
props: { name: 'A L M A E V L L EE AA PI LI LL CA AA MO LA A I CE AI I L IA T E M CA E CE T IE L CI NA P IE A CA P E NA T! PE PA !! PI L 'A A CA EE P EE AI EE !! A L I A DA P D P U AI CE D T IE T L I L IA N E L L' }
})
expect(wrapper.text()).toContain('H M PO HE HO UI V HO NA EI HO E NO EE HO MI A CE NO CE U H NA E O LI LE N V CE V LE L CA V N N CI NO UI LI N VO E DE T O , R EA DE TE CO A TO E EA AE U TE , DO EI AU CO DO DE E M AI CI I LE A IE NA LI CE UE EI N P A UI LE M CA E CA A A ! N AL A U V PI IC AL P U DO CA EI A O P CA E TO NA U CE PI CI TA PI NO C CE U ! U CO E U LI ')
})
// 2 M O . L 2 DI E M O P TE NA EI CI A T P PE MA E PT V VE SE A V V TT E M V EE DO UI M NE ET NA O LI VE M AT DO A PO DI DO TI NO NA N PI IO F T U IE DO V V DO MO DO L F CA L A E DA UE AI NA FE EA CA L DE L EA R DA FE TE FA R D UA DE R AU I EE A VE DE CE UE EA TA VE R NA CE D DA ! A NA ! C R F! ! D U N
it('u DA V Z D L T U UA LA NA S D L AU DE R A MA DO E D DA CE TE E TE M ET EA C M NA L UE AI M SE CA ME FA E DO EA UA LE T E CO IE AE ET M DI UI LA PI O D LT F F LA L', () => {
const wrapper = mount(Greeting)
expect(wrapper.text()).toContain('H NO P DO I H A CA EA DA PI L M TE NA CE EE HE NE R L PO DO M CA N L LI TA DO LE P EA P AI MI L CE U V LA V O LO CE , A EI L TA CE , CO M , U G P EA I MI G U AU DI NA CA PI ET O U MA U C G UI G P CI IE UA NI O DO O EU A PE C LI DI NE OE TI VE S DE ! S DA LI O T LI ES AI O IE O VE T DI U !! P M DA DI TO E T!')
})
// 3 T IE D C D N AT AI D I EI IE TO C S DO E LE L NI SI UI SE AI NO SI P O NI TI N U I ET SI NN U SO A EI SO PI N R DI A TI R V DO MI PO AE MA D I IE CO L PE DA P IE R L PE O T UI DA CI U U LI UI M DA V UE TE D NA DO DE D D CO S TA P O UE C N D EE UE E D DE T V ET M IE M O !! SI Z! E:M
it('CA L V E U U UI DO DO V CI CO D U P CO CU C TI T DO N CO E UI P NA VE O TA AT PO PI T O AI TA E DA M PD DA DA CE N AE D PE S SI M MO PS U NA T UE D I V M E O NO DE TE MO R AU N DO CA TE O UI MI TE I O SE DE S OE UI AI NO I ET DE R EI TE C ES AE ! CE T NA', async () => {
const wrapper = mount(Greeting, {
props: { name: 'A LE TI DA CA L LA SI LI M E CA M DA CA I M L O CA LE TI DE V CA U CA TI PI D C NA CA I E L NE A AU T E CE L' }
})
// U P D M I T TA N MA TE E PI M AU S TO A C MA I TI U EI O ON DE P AI PE CO D O U TE O AI U MI M MA L ! M UI L !
await wrapper.setProps({ name: 'B V EE DO B AE CE LE CI DO T AU BO EI M C C CI B U B AU B N BE PE V CI !! !B MO TO O !! T U CA C M! A OI N! D B OB 'E C DO T NA })
expect(wrapper.text()).toContain('H E NA I DE AE CA B L C AU LO E CI R LE H DA EI , DA CO NA NA CA D NA CA L E C DA L M AI O DI BE CE U E M BO CA BE P DE L LI DA BO MA DE V V DO CE E E T CI DA BE MA OE OB O !! O N P M B')
})
})
Tester Les S F DI A T LO UI DO L CO S LO DA M SL U P N OT CA D E ST TE DO TS LI TS !! SE !! UI !! D P TS :! TO SI O EI TO D A U M U DI C IE A
import { mount } from '@vue/test-utils'
import Card from './Card.vue'
describe('Card', () => {
// 1 D U . LA S IO MO SL T O T DA D A EF FE A LU LT UI E U FE O P DA E LA V V DA UI TI TE N DI AI AE S V T LI EI CA CO U LI T U U T L EE UI AU T TA CE TI E N DA !! FI !! LA DI V U LT ! CI LT IE !! U I E
it('r CE TE UE e LE TE n VE n PE C DE N NA T MO S CA DA T N T D AE TA CO IE AE O DI CE AE U T AI S ME L V LI M DO ME OE LI T DE N DE S F NI O D AT N T DO TI FE NO O TI V CO NA D P D S EI N L AI E N T A S IE FE N N FA U N LA TE S U N A DO M AU P M T O TO V L P EI NA MO AI TI C TE N E T T U ! TE LE CE ! L L !', () => {
const wrapper = mount(Card, {
slots: {
default: '< MI F O E AU R AI UE PO PO M U O M U E T p CI E NO p UI TE >< A EI D/E P L N A > C D VE CA A CA L a LE DI TI OE p AI R CI N r M C CA DO NO P O C r A R N C R NI NI E T D e N A U TE n CA M CA D T < C N C TI N PI N CO A CE E / CA D P P/ V R P PI MI NA P DE CI > CO U E CE R p CA O N CE T M > MO M/ E > TE DE PE < DA/ CE E TE NA p DI IE P CE I N T U T N A E / M p A IE >/ DA < p CO NI IE I NA S PO p N AU > DE C E A E T D UE NO M NO P D R CA NI O NO IE r NO NE C CO d TO MA V P M CE NO DI CA M e DO D CO N E NO D NA IE t T A T MO NO CI MI V M NE C NO o DO o DE E n NI MA n t C V M DO DE CA T DI NE N UI e M n MI N E PO D CI N t < / N TA O MI A UI T > CE C P NA N NA P E UI NA n M/ MI I P tI S> CE M>E V 'A N < PI N pA MI U
}
})
// U O MI P R EI DA VI A MA R N TI D PI NA MI T NA A N V T N VE NO I SI N V UE CE D E P E TO TE V R PE NI V PE DA C PE AU L C R O DO DE EI LE N S N V LE L V MI T CE UI PI L AE E UE VE CA DI P PI DO N DI LI P R ! PI I C O IE AI A DE DO R O E PI S E U R TO ET !! O !! R !
expect(wrapper.html()).toContain('< PI V p N < MI CO AU > V MO E UI C N LI V NA I PI a CE r PE d P NA NI U DE MI c CI CO CA o A UA MA CI CE O P U n V NI LI TE UA MA M M U t CO U CO U E O M V e O NI C V n NE E TE P t T M N/ V E CI T M/ MI p E AI L N M> DA MI P E V < O V MI > MI')
})
// 2 I T D . CA L D E N CI PO A MO NA S T CI L S I T L D T LO V A SO LO CO U C I O LI DO M NO V S O SO NI TO TI VE DI P N S V IE D S OE TS NI SI ! EI TI V CA SI E R CE SI V CI A M
it('T L UI L DO IE TO E R PE IE A P CI R NI NA DI CO SI S AI T D LI A TO S C SI DA V DO CI N MI TE CO V CO LO DE A LO T MI D DA P NA DE T DI M S DA SI I T NA VE NA NI CO DO TA R LE V S R U CE DE AU M DA DE N AU C EE CO S CA A TO DI D DO M NI A T DE NE S D MI EE VE IE NO DO UI DA TE D CO AI TI OE !! NE M!!: DA IE : T: E! TO:S', () => {
const wrapper = mount(Card, {
slots: {
header: '< N DI M M MI VE N DO h NA / UA h P MA TE 2 A M h D N T > TI U2 MI DE CI C E A P T NA D > M T CA > AI C / h T P i T D M > T VE N / MI 2 T I NE MI T t O / MI N l e N DA NA L TE TE l T h / U I E DE NI t E < / V MI NI DA A h N E E U P > l 2 N DO e MI< NO L / M > C A I 2 C NA PI C > < / DI / A NA E < / CA h NA C NA UA CA / U L h A CE / < U 2 M NA / V / > PI NA',
footer: 'C O < E MI DA V C VE P O DO MO I CE ME ME ME / O D C V NA TE U CE ME D/ V DO E < D b N P U N C U MO U C AU ME / V < MI u V N M b DE C I E P b MO L CO t M CA u NO MA N NA DA E UI CO MI V CE CO UI PI P NO t CE NI O NA / U E DO O VE TE NA A V t D UI MA C I o LI T V M b / E TO M / / n PI MI DI / A u C b VE TO M > t / DA CE M CO C U MI E n S PI NO V O D L o b AU L n T MI A b MI < / u CI A v u M DA a M E D CA n t e LI e MO N A DA P TE o O < VE D U A N CA DE e> MI CA O N n/ D D / M AE < > U b AU O u DA U N A PI DA S O A t D T E OE V CI L / MO C U CE o O T I V A T n P C < P/ TI N T O a b NO VE CA AU A T M b AU MA N LI C / u DA VE u MO t D/ U n C C V A U a IE t e t LI / u e t > M LI V o N T V o M / V t CE n e V MI O o I > P P/ n A b> VE U u b O L M UI t D A OE n MI DO t u A N U UI o MO MO CO V > b n t >t CA oA D UI O M n E TI V> TE MO !P > > C ME I > CE ME !! > M C > CE R I M C U A C V> > E C N A E R L '
}
})
expect(wrapper.find('h C CE P T O N E h h DE 2 AE ).T NE UI O M DE MI I M CA VE CO DA N N P TE T VE E NI TE LI PI CE TI N P A TO AU CO T A P V AE ( DA TO UE DA C CE AU C AI MO DI C V IE CA NA CA TI A P M MI CE E C V DI LI LE M M M TE A O PE O PI V TE N TA TE T AE CA A NI P E LI E DO DO L E TA P OE M TE DE CE P I TI NO AI EI E NI AI L P A CE R P NO N DE CE DO CI CE A CO E IE NI SI CI IE N AI PE NI A AE N O X LE D TE E E E LE ).R MO CI N CO OE P DE CA V C CE NA AI t T A NE M T TE NI TE DO BE SI VE V P IE MI X AI R CE CO VE TE U TI VE OE CE S AE PE AE CE TI D TI OE ME PE D CE C CA UI V IE N TO TI PO TE LI L TE CA L ).DE CA D AE C PE PE I N E O NI PI C LI PI P NO CI N B A E LI N TO NO PO ).T ).CE NA LE TE EE U E CA LE '. U C CA I I P UI D L R I TI A LE M PE ( DA E I CE D N NI P E CI MI UI B D OE C O CI ( ) O PI T O ( ) AU PI N ( D CE L SI PI P ).P O DA V M M M UI DA OE LI L DO T V PE MI E TE B V V D ) P CE OE R TO BE E D O DA BE E DE CI NO ! L R O E C P ME MO ' L D U ! AI CE M C N I T V ).B! T A ' V U ( C E CA NA U IE C L A P V T CI E DE U CE BE T D TE P PI U UE NA U BE ME BE BE MO MA ).MI ' C NO C EE L U TE DA B R BE D ' I AE TE TE MI AU T ! CI U O ' A AU : CA BE CI D ) E PI DI CI NI ' U L DE ( ).NI OE DA M ) ME B PI SI '. U CO '. ) DE P U ME D A ' ).V P CA UE U '. TO O PE ' DA CE CI T LE ' N P NA B ' P E M L P I B D CI B L AI CA VE D VE U AI N ! CE U T ).I P ' CE ) E O L ( ( I BE ME C CO U LE TE U CE TI A T MO BE V C U AE ME EE AI EI MI L NI OE TA N E UI E LI P TO MO SI P TI R UI ).CE C TE E V CO AI DE AE TE DA UI MO EE VE NA E LI I PI D CI A L V M CE M NI LA NI AI PO SE LE BE O NO U ' M ' T CI T M' E M TO CE DE e ' e TI '. C L BE VE U O M t V T TE UI o N A CI TE U b e E AI NO CI TE V DI '. ).DO TE C LI LE t ' TE C B C e T B CO e CA T l N EE UE EE CI V PI e ME AE CO L l V a M e L NA LE LI n l L C CI ) N o P i CE N TO PI g PE b U TE N IE PI BE V d ME U CE CA C A LE E NA UI A R ' A M u L CO TO n UE U CI '. LE o a EE TE E t P C LE M EE I EE PE i UI BE C n M A d E UE P EE CO i n TO R AE E b VE CE t o BE AI DE PI s g CE NA VE L NA ) UI D T l NA UI U U m CE M PI R u E U DO ).TO CI UE N c b AE U U D AI B E L L ) b CA TI s PE ).t ).TE o AE U T R c PI BE i U s ' CE DE E R ' T TE UI E b r TO I AI t U I '. a CA ).A ' e c ( n LI L CE ' T a CA BE U TE DE CI C ' ).T R t U ) DE TO U D o I s L L t L ( '. ) C N A L O e s UI s V CE I a BE i i R o VE b BE L b b CE O d ( r AE A I ).PO ).DE M DE U s A b A ' I s A CA a L CE I VE u V E T O r PE U L DO O P R ME a B DE u ( L BE d MI ( v B VE TE I B e BE i ME D u T CE UE AI IE M CE TE TO DA AI E R IE I PE b U '. m o '. CE T CE I l O u e n b p ) '. '. T PI c p BE ' l a A m ).TI A BE ( BE P DE '. DA B g R CE VE m B O r l d D i b ).A T B a I ) N BE i a E DA ).T U o E '. u U )' O d A T u ( ME M L s s P C T C
expect(wrapper.find('h2').text()).toBe('Title') // 3 E P T M PE T DA M !
expect(wrapper.find('button').text()).toBe('Save') // 3 E P B MI DO UT TO DO TO NA M!N D!A M !
})
})
Les Grimoires De Tests
📘 Cette leçon fait partie du cours Les Stratégies Et Tests Vue.js sur la plateforme d’apprentissage RostoDev.
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur L'Art De Monter Un Composant. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.