
Lunedi mattina nell’ultimo episodio noi
preso in considerazione il nostro test di vaniglia JavaScript
suite invece di usare il test runner Jes
in questo video ne faremo alcuni
Oltre al nostro codice effettivo il testato
codice e aggiungere del codice che a
recupera in modo sincrono i dati da una rete
servizio e per farlo lo siamo
andando a prendere in giro quella chiamata che significa che
L’episodio di oggi parla di me e di deridere
mpj e stai guardando divertimento divertente
funzione
[Musica]
[Musica]
[Musica]
va bene quindi se sei un normale spettatore
potresti notare che sono in un nuovo spazio
questo è il mio nuovo spazio studio che è
dedicato solo per divertimento fun funzione
no, non ho fatto alcun suono o
niente di questo spazio ancora io solo
arrivato ieri ed è per questo che c’è
tanta eco che verrà risolta
i video in arrivo e anche non troppo
eccitante potrebbe dover fare qualcosa
a tale proposito, come bene e anche io non sono sicuro
circa l’angolo o qualcosa di veramente è
sarà eccitante, lo farò a
un po ‘ più accogliente e quindi probabilmente lo farebbe
Sono un tour completo in studio di questo spazio
super eccitato a riguardo ci si sente davvero
buona per avere un posto di lavoro probabile
per andare e sì sarà fantastico
comunque oggi esploreremo il MOC
funzioni
Le funzioni MOC sono funzioni false che noi
utilizzare al posto di fare una rete reale o
chiamata al database o forse non effettuare una chiamata
a un’API di pagamento nei nostri test lo facciamo
perché abbiamo bisogno di eseguire unit test e
altri test automatizzati in generale
centinaia e centinaia e centinaia di
tempi e abbiamo bisogno di eseguirli molto velocemente
così in alcuni casi è proprio impossibile
utilizzare un vero e proprio API err di pagamento reale per
esempio in come possiamo fare 200 test
transazioni con carta di credito e anche se
ci forniscono una API di prova che eravamo
come sarebbe molto molto lento da mantenere
fare reali chiamate di rete tutto il tempo
perché se hai eseguito un test di unità
suite di solito ha come quattro a sette
centinaia di test e tu vuoi essere in grado di
esegui quelli e in pochi minuti o preferibilmente
secondi e che se ti sei appena coinvolto
coinvolgere le chiamate di rete e che sì
diventa del tutto irrealizzabile anche la Rete
le chiamate tendono a fallire
qualche altra volta che significa che il tuo
la suite di test finisce per essere fragile e
come se avessi fatto 400 mila
uno ha sentito lì e tu corri per un
il petto e un test falliscono lì ed è così
appena sì le funzioni finte ritornano false
anche i valori e le funzioni fittizie ci consentono
per controllare la funzione di simulazione dopo che abbiamo
completato eseguendo il test in modo che noi
può controllare che la funzione di simulazione fosse
chiamato nel modo in cui ce lo aspettavamo
sii così diamo un’occhiata a un problema
che abbiamo bisogno che Marx risolva tutto bene
qui abbiamo il nostro vecchio amico dal
ultimi episodi la nostra funzione totale dell’ordine
lasciatemi aggiungere una pausa qui sì
perché è più bello quando si tratta
sistemi di e-commerce di cui abbiamo bisogno
diritto fiscale e in Europa abbiamo questo
cosa chiamata imposta sul valore aggiunto che è
tipo di simile simile a imposta sulle vendite in
gli Stati Uniti e la complessità di questo è
quando vendi a una persona in
un altro paese dell’UE che è necessario addebitare
loro la tassa di vendita che è il vit il
imposta sul valore aggiunto applicabile in
il loro paese quindi se stai vendendo a
La Germania è necessario addebitare il 19 per cento
Tassa e registrati e devi farlo se
vendi a qualcuno nel Regno Unito di cui hai bisogno
per venderli li vendi al 20 percento di vit
fino all’uscita dall’Unione Europea dove
il brexit quindi questi tassi cambiano
intorno a loro non sono stabili per tutti
l’eternità sì sì non possiamo solo difficile
scrivili e spera che non lo facciano mai
cambio per fortuna ce ne sono alcuni
servizi che gestiscono questo per noi come
il servizio che andremo a utilizzare
oggi qual è l’ API dot-com
la prima cosa che vorrei fare
prima di fare qualsiasi tipo di codice deve
fammi conoscere un po ‘questo
API Mi piace sempre farlo proprio così
la prima cosa quando mi espongo al nuovo
API quindi quello che faremo è chiamare
l’ API IVA completamente isolata da tutti
il nostro altro codice e o
totale e tutte quelle preoccupazioni e controllo
uscirà separatamente su cui approfondirò
perché lo facciamo così in un po ‘
ma ma per ora non abbiamo intenzione di saltare
avanti nei test di codifica o nel codice che siamo
andando a guardare l’API va bene così andiamo
dare un’occhiata qui su quell’API dot-com e
se guardiamo qui e qui sono elencati
come esempi di chiamate API diverse noi
stanno andando a fare questo uso del paese
ricerca del codice e qui ci sono alcuni PHP ma
ciò a cui siamo interessati qui è questo
Risposta JSON che abbiamo capito
essere lo stato che otterrai il tipo di
codice blah blah blah blah e qui questo
è il valore a cui siamo interessati
quindi dal Lussemburgo Lussemburgo abbiamo
il valido è 70% vit quindi è sotto
non c’è c’è un oggetto tariffe
che contiene il nostro bene contiene a
oggetto standard standard che a sua volta
contiene un valore e quindi contiene una
molti altri
ridotto e alt e super super ridotto
oh per gli ebook hanno una batteria più bassa
ebooks molto interessanti in entrambi i casi
è quello a cui siamo interessati, va bene così
creiamo un nuovo sandbox di file
storge e sto per iniziare sto usando
questa cosa si chiama Quokka
che è molto utile è che è un plugin
per eseguire la valutazione in linea di JavaScript
e lo trovo davvero carino quando lo sei
giocando con il codice e anche
facendo questi video molto bene solo
giocando con le cose, quindi per prima cosa
avremo bisogno di andare a prendere questo è un
vecchio ambiente quindi non abbiamo bisogno di difetti
altrimenti non avremo accesso al recupero
e vediamo che facciamo il carbone no
resisti, sto bene
metti questo in un risultato e sale non lo è
la multa ovviamente e facciamo un tentativo
e abbiamo bisogno e torniamo al
cosa dovresti andare, questa è la fine
punta sapete fammi rubare quella copia
pasta incolla che in PHP non è così
voglio PHP per ora che userò
de per quella Deutschland o la Germania così così
lontano abbiamo qualche risultato qui vediamo
vediamo cosa è perché vogliamo
il punto di risposta txt va bene, è fantastico
stato richiesto per l’ autenticazione a-1
mmm torniamo a guardare i documenti
Chiave API e abbiamo bisogno di qualche cosa di intestazione
mm-hmm
Chiave API va bene, quindi quello che dobbiamo fare è farlo
ha bisogno di tempio come intestazione posizione
bene se ho chiave penso come qui loro
effettivamente uso un maiuscolo a e mi capita
per sapere che secondo l’HTTP
punto standard o H meglio sì
dovrebbero essere questi che devono essere
casi è un fatto divertente se stai costruendo
una API in entrambi i casi che ho già inserito
questa cosa nelle mie variabili di ambiente
ha fatto e penso di averlo messo come
fatto chiave API
Dio non è questo è solo così che
non vedi la mia chiave API e ma se
lo fai da solo, puoi farlo
incolla la tua chiave API qui che tu
generare su un’IVA API chiama comunque
questo ci aiuta , no , ancora ci arriviamo
autenticazione richiesta uh-huh oh aspetta
Non sono in realtà sto solo passando questo
come opzione se devo dire davvero
pesce che è questi questo è un colpo di testa
scusa, continuo a dare per scontato che tu
okay hai raggiunto un limite di API
chiede il tuo blah blah blah blah blah
fammi accedere a API migliori per venire e
compra più crediti perché ho fatto
questo molte volte provando questo e
Ho finito i crediti che ho adesso
pagato più chiamate API ho fatto così tanti ragazzi
chiama quando si verifica questo, quindi ne abbiamo alcuni
roba qui ok ora è 200 stato
codice paese ee va bene
dove è appeso alle sue tariffe che siamo
guardando così lasciami fare forze come JSON
invece è Jason e poi ho intenzione di
vedere che i dati puntino i dati che cosa fa
che ci danno, andiamo
okay e allora abbiamo lo standard qui
vediamo lo standard di velocità dei dati per vedere di cosa si tratta
ci dà okay web un valore dell’oggetto 19 e
quindi estraiamo solo il valore e poi noi
avere ciò che vogliamo, quindi è così
fondamentalmente la chiamata che vogliamo il nostro codice
per fare bene quindi fammi parlare un po ‘
un po ‘perché abbiamo fatto questo gioco bianco
ed esplorare l’API separatamente e
perché quando ero un programmatore più giovane
Vorrei iniziare a scrivere il codice
molto veloce ero un obiettivo molto molto
orientato e orientato alla soluzione e
come se volessi iniziare a scrivere codice
subito così vorrei solo inizio
scrivendo vai a destra in ordine totale
qui ma col tempo ho imparato che questo
mi è costato anche io avevo pensato che dovevo
gestire più problemi nella mia testa a
nello stesso tempo ho avuto un evento che ho avuto
per affrontare il problema di capire
l’API e l’integrazione dell’API nel mio
logica già esistente e dover
affrontare contemporaneamente questi problemi
tendeva a farmi fare di più
errori e muoversi più lentamente nel complesso
e questo era particolarmente vero se nei giorni
quando non ero al top del mio gioco
era stanco o ero triste per qualcosa
quello è successo nella mia vita personale
ha finito per essere simile alla mia produttività
ha finito per essere molto inaffidabile che
a volte lavoro ma a volte ho appena ottenuto
bloccato e produco codice molto lentamente e
e anche il codice che produco
più incline agli errori e dopo aver visto questo
il problema II ha fatto qualcosa che è migliorato
io tanto come programma e quello era
iniziando a cercare opportunità dove
ci sono in realtà due problemi o
più cotto in un grosso problema e
cercando un’opportunità forse noi
può rompere questi problemi fuori in
minori problemi isolati e affrontare
loro separatamente e uno molto concreto
esempio è quello che stiamo facendo qui
funzionerebbe quello che abbiamo fatto qui è quello di ottenere un
un po ‘ lovey dovey con un API prima
prima di usarlo nel tuo codice va bene così
torniamo ai nostri test della serie
stiamo scrivendo prima i nostri test unitari
prima scriviamo il codice e il motivo
perché facciamo che è
che trovo almeno che sia molto
più facile capire quali test scrivere
se scrivi i test prima ogni volta che io
prova a scrivere dei test dopo che ho scritto
codice Tendo a lottare molto per capire
fuori quali test devono essere scritti
okay, prova per primo che abbiamo parlato di averlo
ho parlato del perché è una buona idea, ma io
hanno ancora un problema con esso perché
come fai come pensi
prova prima perché poi è così
scrivere il test prima che il codice si senta
come indietro pensando a me come fai
entrare nel come si fa a fare, che non
indietro pensando sì sì esattamente io
sento che questo test di scrittura non lo è
quello a cui sono abituato e quindi lo fa
me scomodo è un nuovo modo per me
pensare e io penso di averne bisogno
mano-holding
su come fare questo è quello che sono
punti eccellenti se non sai che sono
come se fossi in piedi su questo tavolo di equilibrio
è come se fosse fantastico perché
mi fa pensare chiaramente ma è anche
a volte un po ‘traballante comunque il
la chiave è invece o pensare in termini
di quello che il computer esegue sei tu
pensa in termini di esempi non di quello
gli esecutori di computer pensano esempi di chiamata
quindi invece di pensare in termini di codice
del totale dell’ordine stiamo pensando in termini
di esempi su come chiamare il totale dell’ordine
e quando ci pensate che è in
generale un buon modo di descrivere
come qualcosa funziona una serie di esempi
se hai mai letto le regole del gioco da tavolo
questo diventa molto ovvio leggendo sì
le regole senza alcun esempio
diventa molto difficile da analizzare a causa di
che è molto comune per una buona tavola
regole del gioco da avere
serie di esempi accanto a ciascuna serie di regole
per spiegare come casi specifici di come
questa regola potrebbe essere applicata ea volte
Includo anche intere sessioni di gioco
che puoi avere un’idea di come il gioco
lavori
codice almeno per me sì è molto
simile a quello quando una funzione sei tu
conoscere 10 o 30 linee lungo forse ramo
da alcuni se dichiarazioni qua e là
allora trovo difficile capire tutto
le sfumature di esso se ci sono unità
prova per quella funzione mostrando una coppia
di casi di test che lo rendono molto più facile
per me analizzare così questi test qui
può pensare a loro come esempi che mostrano
come siamo come il totale degli ordini funziona o come noi
vuoi che il totale dell’ordine funzioni quando siamo
scrivere un test che non ha il
codice scritto per questo ancora così dato
come possiamo cambiare questi test a
fare un passo verso il codice che noi
voglio bene la prima cosa che viene
la mente è che mentre introduciamo il recupero
questo e un’API sincrona chiamano il
il totale dell’ordine ora sta per diventare un
sincrono restituirà a
prometto quindi penso che sia il primo
piccolo passo che faremo noi
non può evitare che così cambiamo tutti
questi test prevedono invece una promessa
va bene, so che questo succederà
rompere il nostro test ma no, proviamo
quel test NPM Bam Bam Bam Bam Bam
quattro falliti quindi andiamo, ripariamo o scriviamo
così che questo è questo diventa un
sincrono restituisce una promessa promessa
promessa promessa non risolvere questo cinturino
a proposito, se non sai se
le tue promesse non risolte sono nuove per te
tutto ciò che fa è che ci vuole un valore e
lo avvolge in una promessa e se lo sei
non ha familiarità con le promesse in generale
hai fatto un video sulle promesse qui
puoi verificare che questo sia anche nel
descrizione dell’esempio eseguiamo nuovamente i test
e prove di prosciutto per il gelato passato, lo so
amico vedi come stiamo lavorando davvero
piccoli passi stiamo risolvendo un piccolo
problema alla volta e questo è molto
caratteristica dell’unità che collaudate voi
vai rosso verde rosso verde rosso verde rosso
verde rosso verde e per me questo è molto
bello mi piace molto questo è un
aspetto assolutamente preferito dell’unità
testare mi fornisce una costante
senso di progressione è a
conferma che sto facendo le cose
le cose stanno andando bene e mentre costruiamo a
suite di test mi dà anche un senso di
sicurezza che stiamo rendendo attuale
progredire senza rompere nessuno dei nostri
i casi di test precedenti vanno bene così ora
scriviamo finalmente un test un esempio
che descrive quello che vogliamo
il codice da fare se roba del genere
roba si ferma ok hmm
ma cos’è che in realtà vogliamo il
codice per fare bene che volevamo fare
un bel po ‘di cose quando pensi
su di esso volevamo recuperare i dati da
quella API calma e quindi volevamo
analizzare questa risposta e quindi volevamo
per estrarre la risposta che hanno fatto
prendi quella risposta che analizza la risposta
ed estrai il vasto valore del bagno pacifico
da esso e poi lo vogliamo a cosa
moltiplicare la punta o il totale che
abbiamo calcolato in precedenza con quello
che l’IVA su una buona giornata
sembra che non ci siano problemi in
tutta la caffeina perfetta mi ha fatto impazzire
ottima settimana fantastica e ho dormito molto ma
forse ho anche una brutta giornata
siamo come questo è oh buon dio dove si trova
io inizio
e quei giorni la codifica spesso si sente a
Ti ha sommerso come stanco e questo è
casi, trovo che sia davvero buono
il tuo sonno fa un passo indietro e chiedi
me stesso ciò che è il più piccolo possibile
passo che posso prendere così forse chiama
che API calma se specificato il codice del paese
quindi inizialmente i test che avremmo fatto
concentrarsi solo sul fare in modo che
in realtà chiama quel cono più felice del tutto
questo è quello che faremo baby
passaggi
quindi sono bravo a prendere questo e sto andando
prendi questo o il totale qui lo sai
che bello e bello cambiamo
questo per trascinare i waffle c’è davvero
caro forse intendo quindi lo siamo
ne compro solo due e scriverò
paese qui come e sì, usiamolo
Germania di nuovo qui e e dopo il
la chiamata è stata completata stiamo andando a
fare
cosa faremo?
sì è qui unit test è
davvero difficile per me ti piace come facciamo noi
verificare che qualcosa che non ha quello
questo è qualcosa che sta accadendo è
succede all’interno del totale dell’ordine è
al suo interno sta chiamando un altro
funzione moda come possiamo come possiamo
ispezionarlo e come può farlo bene Blair
forse non dobbiamo forse possiamo
solo in realtà ha chiamato l’API in
il test unitario e poi solo ispezionare
con i risultati che sono usciti giusto
usiamo la cosa reale no no no
non possiamo farlo se ci piace il
i test di unità dovrebbero funzionare davvero
davvero veloce se avremo noi avremo
centinaia di questi e correranno tutti
oltre il luogo e se se abbiamo tutto
queste chiamate di rete nella nostra suite di test è
sarà molto lento e non saremo in grado
per eseguirlo su ogni stessa come vogliamo
sì, stai toccando uno dei più grandi
benefici dei mock se abbiamo finto finte
sul posto nei nostri test lo faranno
corri subito e saremo in grado di
esegui centinaia di test in solo una coppia
di secondi che significa che saremo
in grado di testare di più e di essere più sicuro
nel nostro codice anche i test saranno più
affidabile quindi non ci imbatteremo in questo dove
abbiamo appena colpito save e lo troviamo
ok alcune richieste di rete falliscono qui o noi
devi eseguirlo di nuovo e solo si
sarà brutto ok ma anche così come
facciamo davvero a prendere come facciamo?
come lo prendiamo in giro ok allora forse il noi
c’è una biblioteca magica o due che possono
tipo di spostamento su di me richiedere e consente
noi per iniettarlo nel runtime no
per favore non magia
bene ad alcune persone piace quella magia
iniettando qualcosa e lo usano come
solo un no lo so
no, non mi piace neanche quello giusto
per favore usa qualcosa che è chiaro
e semplice e che possiamo facilmente vedere
come funziona okay, che dire di questo
cosa succederebbe se fossimo noi a cercare
lì dentro vuoi dire che lo inoltriamo
come argomento per la funzione qui come
come questo sì esattamente e poi noi
può quindi fare qualcosa di simile a un falso
prendi come un pass che sai anche finto
falso recupero e questa è solo una funzione
e prende una regola e quindi possiamo solo
crea una variabile qui come se fosse falso
prendere il freddo è uguale a falso, ma quando
Fake fetch è freddo, lo impostiamo su Chu
falso finto è stato vero e poi freddo
nel dopo il totale dell’acqua è
l’esecuzione che possiamo fare può aspettarsi è finta
prendi il freddo per essere vero , gestiamolo e
TM test che dovrebbe significare questo
dovrebbe fallire e andiamo in ordine
totale e quindi supponiamo di aver bisogno
passare a prendere qui ciò che è e anche noi
sapere cosa succede se ordine punto paese ora I
Pensa che lo faremo se lo facciamo e basta
andrà bene si ora lo so ora questo
funziona il test che abbiamo creato ma tutto
questi in realtà falliscono
così Correzione che appena appena rapidamente
Mi piacerà il boom delle funzioni come
che lì e poi ho intenzione di cambiare
la firma di tutti questi I’m gonna
ottenere una funzione vuota perché non lo fanno
mi interessa davvero prendere questi test
perché non lo usano non lo usano
non lo usano quindi non ne hanno uno
paese in modo che non fanno il recupero e
se corriamo di nuovo, sfondiamo tutti
succede bene, ma una birra a venire
ma vogliamo anche fare in modo che esso
chiama correttamente l’ API a casa correttamente
ora si chiama semplicemente idiota adesso sì
proprio come fetch , in realtà non chiama
vediamo di tornare all’API
chiamare andiamo indietro e controllare l’oppure
torniamo alla sandbox qui
qui ce l’abbiamo
Sto per copiare che tornare al
il test e poi sono qui ma prima
l’ambientazione è finta, prendiamo il raffreddore che siamo
effettivamente andando a te ti aspetti qui noi
non aspettatevi che Earl sia obbligato a farlo
sai cosa facciamo veramente cambiare questo
a un altro vieni, non va bene, facciamolo
eseguire questo è anche importante che tu
effettivamente controllare che il tuo nuovo scritto
il codice di test non funziona in questo modo
in effetti ti assicuri che sia così
in realtà prova qualcosa altrimenti è
molto facile o semplicemente scrivere un test e
poi salta subito avanti nella scrittura
il codice e tu in questo modo potresti semplicemente
non testare realmente quello che vuoi
quindi assicuriamoci che questo sia effettivamente
chiama il corretto e il corretto te
sono alla moda
è bello qui
abbiamo parlato un po ‘prima come in
episodi precedenti sulla triangolazione
contro fingere contro l’ ovvio
implementazione e qui sarò
contenuto con l’ovvia implementazione
se facessimo la triangolazione scriveremmo a
prova su un altro test qui per essere sicuro
che questo non era per caso
duplicato tra i test ma in questo
in questo caso Sto solo andando a scrivere il
l’ implementazione corretta che è
ordina punto paese eseguiamo quel test
okay, allora cos’è successo?
stiamo facendo è che stiamo creando questo
funzione qui chiamata fetch fetch ci vuole
una freccia e quindi aggiungiamo un’aspettativa
qui che la L dovrebbe avere ragione no
merda qui e poi prendi il codice del paese
è lo stesso di questo qui
dappertutto e poi ci vuole questo
variabile imposta questa variabile qui è falso
Richiamo call to true che poi cerchiamo
tutto quello che hanno messo in conto ci aspettiamo che sia falso
recuperare chiamato per essere vero, così siamo
testare se il codice del paese specificato qui
ma tu sai che non lo facciamo realmente
che in questo test quindi ho intenzione di rimuovere
quello e ho intenzione di mettere quel sì qui
per ricordare a noi stessi che dobbiamo fare
più tardi e questo è un modo di creare
in attesa di prove non sto fornendo un corpo
così ora quando ho eseguito NPM test sta andando
per mostrare come è saltato così questo è gentile
di come può usare questo come una sorta di da fare
o per iscritto la nostra prova è molto bello io
so che molti di voi saranno probabilmente infastiditi
dal fatto che io non sono
prestando molta attenzione a testare ancora la denominazione
ma ci sarà arrivare a quella successiva
Sono sì, a questo punto non è così
quello che stiamo guardando e il modo in cui questo
tutto funziona è che stiamo passando questo
questo prende in ordine totale come un
argomento così o il totale no
richiedere il recupero qui non lo facciamo quando a
const
prendi le informazioni richiedono che noi siamo
non facendolo lo stiamo ottenendo come un
argomento a questo a questa funzione e
questa è una tecnica chiamata dipendenza
iniezione è molto comune da usare in
unità testate applicazioni perché è a
modo molto semplice di fornire questo e
c’è molto per questo che ho fatto a
episodio separato su questo stai andando
per vedere molto di questo in questo
serie ma se sei più interessato a
come specificamente tuffarsi nella dipendenza
iniezione è possibile controllare questo episodio
qui e questo è anche un episodio in link
nella descrizione dell’episodio a quella
serie se ti interessa tutto questo
Detto questo penso che questo episodio sia
da un po ‘di tempo qui, quindi siamo qui
andando a finire proprio qui come ooh
Cliffhanger la prossima settimana stiamo andando a
procedere con l’implementazione della risposta
analizzando in questo in questa API di recupero e
forse stiamo andando anche a noi
aggiusta questa piccola cosa qui così se
il test del paese specificato come fa a
prova negativa forse potresti iniziare
guardando la funzione di simulazione specifica
falsi aiutanti che sono dentro o ingeriscono
perché siamo solo noi a creare una finta
simulare la funzione qui completamente manualmente
sarebbe vaniglia noci JavaScript che possiamo fare
che lo fai spesso ma è anche
bello usare gli aiutanti del jest da fare
le cose un po ‘più strette a volte
potrebbe arrivare a quella prossima volta che hai
ho appena guardato un episodio divertente
funzione li rilascio ogni lunedì
mattina Oh 800 G
squadra se stai guardando dal futuro
puoi controllare l’episodio della prossima settimana
qui e se stai guardando dal presente
ora puoi cliccare qui per iscriverti così
che non ti perdi quell’episodio se
sei davvero smemorato puoi anche
attivare le notifiche in I am nvj until
il prossimo lunedì mattina rimanete sintonizzati
preso in considerazione il nostro test di vaniglia JavaScript
suite invece di usare il test runner Jes
in questo video ne faremo alcuni
Oltre al nostro codice effettivo il testato
codice e aggiungere del codice che a
recupera in modo sincrono i dati da una rete
servizio e per farlo lo siamo
andando a prendere in giro quella chiamata che significa che
L’episodio di oggi parla di me e di deridere
mpj e stai guardando divertimento divertente
funzione
[Musica]
[Musica]
[Musica]
va bene quindi se sei un normale spettatore
potresti notare che sono in un nuovo spazio
questo è il mio nuovo spazio studio che è
dedicato solo per divertimento fun funzione
no, non ho fatto alcun suono o
niente di questo spazio ancora io solo
arrivato ieri ed è per questo che c’è
tanta eco che verrà risolta
i video in arrivo e anche non troppo
eccitante potrebbe dover fare qualcosa
a tale proposito, come bene e anche io non sono sicuro
circa l’angolo o qualcosa di veramente è
sarà eccitante, lo farò a
un po ‘ più accogliente e quindi probabilmente lo farebbe
Sono un tour completo in studio di questo spazio
super eccitato a riguardo ci si sente davvero
buona per avere un posto di lavoro probabile
per andare e sì sarà fantastico
comunque oggi esploreremo il MOC
funzioni
Le funzioni MOC sono funzioni false che noi
utilizzare al posto di fare una rete reale o
chiamata al database o forse non effettuare una chiamata
a un’API di pagamento nei nostri test lo facciamo
perché abbiamo bisogno di eseguire unit test e
altri test automatizzati in generale
centinaia e centinaia e centinaia di
tempi e abbiamo bisogno di eseguirli molto velocemente
così in alcuni casi è proprio impossibile
utilizzare un vero e proprio API err di pagamento reale per
esempio in come possiamo fare 200 test
transazioni con carta di credito e anche se
ci forniscono una API di prova che eravamo
come sarebbe molto molto lento da mantenere
fare reali chiamate di rete tutto il tempo
perché se hai eseguito un test di unità
suite di solito ha come quattro a sette
centinaia di test e tu vuoi essere in grado di
esegui quelli e in pochi minuti o preferibilmente
secondi e che se ti sei appena coinvolto
coinvolgere le chiamate di rete e che sì
diventa del tutto irrealizzabile anche la Rete
le chiamate tendono a fallire
qualche altra volta che significa che il tuo
la suite di test finisce per essere fragile e
come se avessi fatto 400 mila
uno ha sentito lì e tu corri per un
il petto e un test falliscono lì ed è così
appena sì le funzioni finte ritornano false
anche i valori e le funzioni fittizie ci consentono
per controllare la funzione di simulazione dopo che abbiamo
completato eseguendo il test in modo che noi
può controllare che la funzione di simulazione fosse
chiamato nel modo in cui ce lo aspettavamo
sii così diamo un’occhiata a un problema
che abbiamo bisogno che Marx risolva tutto bene
qui abbiamo il nostro vecchio amico dal
ultimi episodi la nostra funzione totale dell’ordine
lasciatemi aggiungere una pausa qui sì
perché è più bello quando si tratta
sistemi di e-commerce di cui abbiamo bisogno
diritto fiscale e in Europa abbiamo questo
cosa chiamata imposta sul valore aggiunto che è
tipo di simile simile a imposta sulle vendite in
gli Stati Uniti e la complessità di questo è
quando vendi a una persona in
un altro paese dell’UE che è necessario addebitare
loro la tassa di vendita che è il vit il
imposta sul valore aggiunto applicabile in
il loro paese quindi se stai vendendo a
La Germania è necessario addebitare il 19 per cento
Tassa e registrati e devi farlo se
vendi a qualcuno nel Regno Unito di cui hai bisogno
per venderli li vendi al 20 percento di vit
fino all’uscita dall’Unione Europea dove
il brexit quindi questi tassi cambiano
intorno a loro non sono stabili per tutti
l’eternità sì sì non possiamo solo difficile
scrivili e spera che non lo facciano mai
cambio per fortuna ce ne sono alcuni
servizi che gestiscono questo per noi come
il servizio che andremo a utilizzare
oggi qual è l’ API dot-com
la prima cosa che vorrei fare
prima di fare qualsiasi tipo di codice deve
fammi conoscere un po ‘questo
API Mi piace sempre farlo proprio così
la prima cosa quando mi espongo al nuovo
API quindi quello che faremo è chiamare
l’ API IVA completamente isolata da tutti
il nostro altro codice e o
totale e tutte quelle preoccupazioni e controllo
uscirà separatamente su cui approfondirò
perché lo facciamo così in un po ‘
ma ma per ora non abbiamo intenzione di saltare
avanti nei test di codifica o nel codice che siamo
andando a guardare l’API va bene così andiamo
dare un’occhiata qui su quell’API dot-com e
se guardiamo qui e qui sono elencati
come esempi di chiamate API diverse noi
stanno andando a fare questo uso del paese
ricerca del codice e qui ci sono alcuni PHP ma
ciò a cui siamo interessati qui è questo
Risposta JSON che abbiamo capito
essere lo stato che otterrai il tipo di
codice blah blah blah blah e qui questo
è il valore a cui siamo interessati
quindi dal Lussemburgo Lussemburgo abbiamo
il valido è 70% vit quindi è sotto
non c’è c’è un oggetto tariffe
che contiene il nostro bene contiene a
oggetto standard standard che a sua volta
contiene un valore e quindi contiene una
molti altri
ridotto e alt e super super ridotto
oh per gli ebook hanno una batteria più bassa
ebooks molto interessanti in entrambi i casi
è quello a cui siamo interessati, va bene così
creiamo un nuovo sandbox di file
storge e sto per iniziare sto usando
questa cosa si chiama Quokka
che è molto utile è che è un plugin
per eseguire la valutazione in linea di JavaScript
e lo trovo davvero carino quando lo sei
giocando con il codice e anche
facendo questi video molto bene solo
giocando con le cose, quindi per prima cosa
avremo bisogno di andare a prendere questo è un
vecchio ambiente quindi non abbiamo bisogno di difetti
altrimenti non avremo accesso al recupero
e vediamo che facciamo il carbone no
resisti, sto bene
metti questo in un risultato e sale non lo è
la multa ovviamente e facciamo un tentativo
e abbiamo bisogno e torniamo al
cosa dovresti andare, questa è la fine
punta sapete fammi rubare quella copia
pasta incolla che in PHP non è così
voglio PHP per ora che userò
de per quella Deutschland o la Germania così così
lontano abbiamo qualche risultato qui vediamo
vediamo cosa è perché vogliamo
il punto di risposta txt va bene, è fantastico
stato richiesto per l’ autenticazione a-1
mmm torniamo a guardare i documenti
Chiave API e abbiamo bisogno di qualche cosa di intestazione
mm-hmm
Chiave API va bene, quindi quello che dobbiamo fare è farlo
ha bisogno di tempio come intestazione posizione
bene se ho chiave penso come qui loro
effettivamente uso un maiuscolo a e mi capita
per sapere che secondo l’HTTP
punto standard o H meglio sì
dovrebbero essere questi che devono essere
casi è un fatto divertente se stai costruendo
una API in entrambi i casi che ho già inserito
questa cosa nelle mie variabili di ambiente
ha fatto e penso di averlo messo come
fatto chiave API
Dio non è questo è solo così che
non vedi la mia chiave API e ma se
lo fai da solo, puoi farlo
incolla la tua chiave API qui che tu
generare su un’IVA API chiama comunque
questo ci aiuta , no , ancora ci arriviamo
autenticazione richiesta uh-huh oh aspetta
Non sono in realtà sto solo passando questo
come opzione se devo dire davvero
pesce che è questi questo è un colpo di testa
scusa, continuo a dare per scontato che tu
okay hai raggiunto un limite di API
chiede il tuo blah blah blah blah blah
fammi accedere a API migliori per venire e
compra più crediti perché ho fatto
questo molte volte provando questo e
Ho finito i crediti che ho adesso
pagato più chiamate API ho fatto così tanti ragazzi
chiama quando si verifica questo, quindi ne abbiamo alcuni
roba qui ok ora è 200 stato
codice paese ee va bene
dove è appeso alle sue tariffe che siamo
guardando così lasciami fare forze come JSON
invece è Jason e poi ho intenzione di
vedere che i dati puntino i dati che cosa fa
che ci danno, andiamo
okay e allora abbiamo lo standard qui
vediamo lo standard di velocità dei dati per vedere di cosa si tratta
ci dà okay web un valore dell’oggetto 19 e
quindi estraiamo solo il valore e poi noi
avere ciò che vogliamo, quindi è così
fondamentalmente la chiamata che vogliamo il nostro codice
per fare bene quindi fammi parlare un po ‘
un po ‘perché abbiamo fatto questo gioco bianco
ed esplorare l’API separatamente e
perché quando ero un programmatore più giovane
Vorrei iniziare a scrivere il codice
molto veloce ero un obiettivo molto molto
orientato e orientato alla soluzione e
come se volessi iniziare a scrivere codice
subito così vorrei solo inizio
scrivendo vai a destra in ordine totale
qui ma col tempo ho imparato che questo
mi è costato anche io avevo pensato che dovevo
gestire più problemi nella mia testa a
nello stesso tempo ho avuto un evento che ho avuto
per affrontare il problema di capire
l’API e l’integrazione dell’API nel mio
logica già esistente e dover
affrontare contemporaneamente questi problemi
tendeva a farmi fare di più
errori e muoversi più lentamente nel complesso
e questo era particolarmente vero se nei giorni
quando non ero al top del mio gioco
era stanco o ero triste per qualcosa
quello è successo nella mia vita personale
ha finito per essere simile alla mia produttività
ha finito per essere molto inaffidabile che
a volte lavoro ma a volte ho appena ottenuto
bloccato e produco codice molto lentamente e
e anche il codice che produco
più incline agli errori e dopo aver visto questo
il problema II ha fatto qualcosa che è migliorato
io tanto come programma e quello era
iniziando a cercare opportunità dove
ci sono in realtà due problemi o
più cotto in un grosso problema e
cercando un’opportunità forse noi
può rompere questi problemi fuori in
minori problemi isolati e affrontare
loro separatamente e uno molto concreto
esempio è quello che stiamo facendo qui
funzionerebbe quello che abbiamo fatto qui è quello di ottenere un
un po ‘ lovey dovey con un API prima
prima di usarlo nel tuo codice va bene così
torniamo ai nostri test della serie
stiamo scrivendo prima i nostri test unitari
prima scriviamo il codice e il motivo
perché facciamo che è
che trovo almeno che sia molto
più facile capire quali test scrivere
se scrivi i test prima ogni volta che io
prova a scrivere dei test dopo che ho scritto
codice Tendo a lottare molto per capire
fuori quali test devono essere scritti
okay, prova per primo che abbiamo parlato di averlo
ho parlato del perché è una buona idea, ma io
hanno ancora un problema con esso perché
come fai come pensi
prova prima perché poi è così
scrivere il test prima che il codice si senta
come indietro pensando a me come fai
entrare nel come si fa a fare, che non
indietro pensando sì sì esattamente io
sento che questo test di scrittura non lo è
quello a cui sono abituato e quindi lo fa
me scomodo è un nuovo modo per me
pensare e io penso di averne bisogno
mano-holding
su come fare questo è quello che sono
punti eccellenti se non sai che sono
come se fossi in piedi su questo tavolo di equilibrio
è come se fosse fantastico perché
mi fa pensare chiaramente ma è anche
a volte un po ‘traballante comunque il
la chiave è invece o pensare in termini
di quello che il computer esegue sei tu
pensa in termini di esempi non di quello
gli esecutori di computer pensano esempi di chiamata
quindi invece di pensare in termini di codice
del totale dell’ordine stiamo pensando in termini
di esempi su come chiamare il totale dell’ordine
e quando ci pensate che è in
generale un buon modo di descrivere
come qualcosa funziona una serie di esempi
se hai mai letto le regole del gioco da tavolo
questo diventa molto ovvio leggendo sì
le regole senza alcun esempio
diventa molto difficile da analizzare a causa di
che è molto comune per una buona tavola
regole del gioco da avere
serie di esempi accanto a ciascuna serie di regole
per spiegare come casi specifici di come
questa regola potrebbe essere applicata ea volte
Includo anche intere sessioni di gioco
che puoi avere un’idea di come il gioco
lavori
codice almeno per me sì è molto
simile a quello quando una funzione sei tu
conoscere 10 o 30 linee lungo forse ramo
da alcuni se dichiarazioni qua e là
allora trovo difficile capire tutto
le sfumature di esso se ci sono unità
prova per quella funzione mostrando una coppia
di casi di test che lo rendono molto più facile
per me analizzare così questi test qui
può pensare a loro come esempi che mostrano
come siamo come il totale degli ordini funziona o come noi
vuoi che il totale dell’ordine funzioni quando siamo
scrivere un test che non ha il
codice scritto per questo ancora così dato
come possiamo cambiare questi test a
fare un passo verso il codice che noi
voglio bene la prima cosa che viene
la mente è che mentre introduciamo il recupero
questo e un’API sincrona chiamano il
il totale dell’ordine ora sta per diventare un
sincrono restituirà a
prometto quindi penso che sia il primo
piccolo passo che faremo noi
non può evitare che così cambiamo tutti
questi test prevedono invece una promessa
va bene, so che questo succederà
rompere il nostro test ma no, proviamo
quel test NPM Bam Bam Bam Bam Bam
quattro falliti quindi andiamo, ripariamo o scriviamo
così che questo è questo diventa un
sincrono restituisce una promessa promessa
promessa promessa non risolvere questo cinturino
a proposito, se non sai se
le tue promesse non risolte sono nuove per te
tutto ciò che fa è che ci vuole un valore e
lo avvolge in una promessa e se lo sei
non ha familiarità con le promesse in generale
hai fatto un video sulle promesse qui
puoi verificare che questo sia anche nel
descrizione dell’esempio eseguiamo nuovamente i test
e prove di prosciutto per il gelato passato, lo so
amico vedi come stiamo lavorando davvero
piccoli passi stiamo risolvendo un piccolo
problema alla volta e questo è molto
caratteristica dell’unità che collaudate voi
vai rosso verde rosso verde rosso verde rosso
verde rosso verde e per me questo è molto
bello mi piace molto questo è un
aspetto assolutamente preferito dell’unità
testare mi fornisce una costante
senso di progressione è a
conferma che sto facendo le cose
le cose stanno andando bene e mentre costruiamo a
suite di test mi dà anche un senso di
sicurezza che stiamo rendendo attuale
progredire senza rompere nessuno dei nostri
i casi di test precedenti vanno bene così ora
scriviamo finalmente un test un esempio
che descrive quello che vogliamo
il codice da fare se roba del genere
roba si ferma ok hmm
ma cos’è che in realtà vogliamo il
codice per fare bene che volevamo fare
un bel po ‘di cose quando pensi
su di esso volevamo recuperare i dati da
quella API calma e quindi volevamo
analizzare questa risposta e quindi volevamo
per estrarre la risposta che hanno fatto
prendi quella risposta che analizza la risposta
ed estrai il vasto valore del bagno pacifico
da esso e poi lo vogliamo a cosa
moltiplicare la punta o il totale che
abbiamo calcolato in precedenza con quello
che l’IVA su una buona giornata
sembra che non ci siano problemi in
tutta la caffeina perfetta mi ha fatto impazzire
ottima settimana fantastica e ho dormito molto ma
forse ho anche una brutta giornata
siamo come questo è oh buon dio dove si trova
io inizio
e quei giorni la codifica spesso si sente a
Ti ha sommerso come stanco e questo è
casi, trovo che sia davvero buono
il tuo sonno fa un passo indietro e chiedi
me stesso ciò che è il più piccolo possibile
passo che posso prendere così forse chiama
che API calma se specificato il codice del paese
quindi inizialmente i test che avremmo fatto
concentrarsi solo sul fare in modo che
in realtà chiama quel cono più felice del tutto
questo è quello che faremo baby
passaggi
quindi sono bravo a prendere questo e sto andando
prendi questo o il totale qui lo sai
che bello e bello cambiamo
questo per trascinare i waffle c’è davvero
caro forse intendo quindi lo siamo
ne compro solo due e scriverò
paese qui come e sì, usiamolo
Germania di nuovo qui e e dopo il
la chiamata è stata completata stiamo andando a
fare
cosa faremo?
sì è qui unit test è
davvero difficile per me ti piace come facciamo noi
verificare che qualcosa che non ha quello
questo è qualcosa che sta accadendo è
succede all’interno del totale dell’ordine è
al suo interno sta chiamando un altro
funzione moda come possiamo come possiamo
ispezionarlo e come può farlo bene Blair
forse non dobbiamo forse possiamo
solo in realtà ha chiamato l’API in
il test unitario e poi solo ispezionare
con i risultati che sono usciti giusto
usiamo la cosa reale no no no
non possiamo farlo se ci piace il
i test di unità dovrebbero funzionare davvero
davvero veloce se avremo noi avremo
centinaia di questi e correranno tutti
oltre il luogo e se se abbiamo tutto
queste chiamate di rete nella nostra suite di test è
sarà molto lento e non saremo in grado
per eseguirlo su ogni stessa come vogliamo
sì, stai toccando uno dei più grandi
benefici dei mock se abbiamo finto finte
sul posto nei nostri test lo faranno
corri subito e saremo in grado di
esegui centinaia di test in solo una coppia
di secondi che significa che saremo
in grado di testare di più e di essere più sicuro
nel nostro codice anche i test saranno più
affidabile quindi non ci imbatteremo in questo dove
abbiamo appena colpito save e lo troviamo
ok alcune richieste di rete falliscono qui o noi
devi eseguirlo di nuovo e solo si
sarà brutto ok ma anche così come
facciamo davvero a prendere come facciamo?
come lo prendiamo in giro ok allora forse il noi
c’è una biblioteca magica o due che possono
tipo di spostamento su di me richiedere e consente
noi per iniettarlo nel runtime no
per favore non magia
bene ad alcune persone piace quella magia
iniettando qualcosa e lo usano come
solo un no lo so
no, non mi piace neanche quello giusto
per favore usa qualcosa che è chiaro
e semplice e che possiamo facilmente vedere
come funziona okay, che dire di questo
cosa succederebbe se fossimo noi a cercare
lì dentro vuoi dire che lo inoltriamo
come argomento per la funzione qui come
come questo sì esattamente e poi noi
può quindi fare qualcosa di simile a un falso
prendi come un pass che sai anche finto
falso recupero e questa è solo una funzione
e prende una regola e quindi possiamo solo
crea una variabile qui come se fosse falso
prendere il freddo è uguale a falso, ma quando
Fake fetch è freddo, lo impostiamo su Chu
falso finto è stato vero e poi freddo
nel dopo il totale dell’acqua è
l’esecuzione che possiamo fare può aspettarsi è finta
prendi il freddo per essere vero , gestiamolo e
TM test che dovrebbe significare questo
dovrebbe fallire e andiamo in ordine
totale e quindi supponiamo di aver bisogno
passare a prendere qui ciò che è e anche noi
sapere cosa succede se ordine punto paese ora I
Pensa che lo faremo se lo facciamo e basta
andrà bene si ora lo so ora questo
funziona il test che abbiamo creato ma tutto
questi in realtà falliscono
così Correzione che appena appena rapidamente
Mi piacerà il boom delle funzioni come
che lì e poi ho intenzione di cambiare
la firma di tutti questi I’m gonna
ottenere una funzione vuota perché non lo fanno
mi interessa davvero prendere questi test
perché non lo usano non lo usano
non lo usano quindi non ne hanno uno
paese in modo che non fanno il recupero e
se corriamo di nuovo, sfondiamo tutti
succede bene, ma una birra a venire
ma vogliamo anche fare in modo che esso
chiama correttamente l’ API a casa correttamente
ora si chiama semplicemente idiota adesso sì
proprio come fetch , in realtà non chiama
vediamo di tornare all’API
chiamare andiamo indietro e controllare l’oppure
torniamo alla sandbox qui
qui ce l’abbiamo
Sto per copiare che tornare al
il test e poi sono qui ma prima
l’ambientazione è finta, prendiamo il raffreddore che siamo
effettivamente andando a te ti aspetti qui noi
non aspettatevi che Earl sia obbligato a farlo
sai cosa facciamo veramente cambiare questo
a un altro vieni, non va bene, facciamolo
eseguire questo è anche importante che tu
effettivamente controllare che il tuo nuovo scritto
il codice di test non funziona in questo modo
in effetti ti assicuri che sia così
in realtà prova qualcosa altrimenti è
molto facile o semplicemente scrivere un test e
poi salta subito avanti nella scrittura
il codice e tu in questo modo potresti semplicemente
non testare realmente quello che vuoi
quindi assicuriamoci che questo sia effettivamente
chiama il corretto e il corretto te
sono alla moda
è bello qui
abbiamo parlato un po ‘prima come in
episodi precedenti sulla triangolazione
contro fingere contro l’ ovvio
implementazione e qui sarò
contenuto con l’ovvia implementazione
se facessimo la triangolazione scriveremmo a
prova su un altro test qui per essere sicuro
che questo non era per caso
duplicato tra i test ma in questo
in questo caso Sto solo andando a scrivere il
l’ implementazione corretta che è
ordina punto paese eseguiamo quel test
okay, allora cos’è successo?
stiamo facendo è che stiamo creando questo
funzione qui chiamata fetch fetch ci vuole
una freccia e quindi aggiungiamo un’aspettativa
qui che la L dovrebbe avere ragione no
merda qui e poi prendi il codice del paese
è lo stesso di questo qui
dappertutto e poi ci vuole questo
variabile imposta questa variabile qui è falso
Richiamo call to true che poi cerchiamo
tutto quello che hanno messo in conto ci aspettiamo che sia falso
recuperare chiamato per essere vero, così siamo
testare se il codice del paese specificato qui
ma tu sai che non lo facciamo realmente
che in questo test quindi ho intenzione di rimuovere
quello e ho intenzione di mettere quel sì qui
per ricordare a noi stessi che dobbiamo fare
più tardi e questo è un modo di creare
in attesa di prove non sto fornendo un corpo
così ora quando ho eseguito NPM test sta andando
per mostrare come è saltato così questo è gentile
di come può usare questo come una sorta di da fare
o per iscritto la nostra prova è molto bello io
so che molti di voi saranno probabilmente infastiditi
dal fatto che io non sono
prestando molta attenzione a testare ancora la denominazione
ma ci sarà arrivare a quella successiva
Sono sì, a questo punto non è così
quello che stiamo guardando e il modo in cui questo
tutto funziona è che stiamo passando questo
questo prende in ordine totale come un
argomento così o il totale no
richiedere il recupero qui non lo facciamo quando a
const
prendi le informazioni richiedono che noi siamo
non facendolo lo stiamo ottenendo come un
argomento a questo a questa funzione e
questa è una tecnica chiamata dipendenza
iniezione è molto comune da usare in
unità testate applicazioni perché è a
modo molto semplice di fornire questo e
c’è molto per questo che ho fatto a
episodio separato su questo stai andando
per vedere molto di questo in questo
serie ma se sei più interessato a
come specificamente tuffarsi nella dipendenza
iniezione è possibile controllare questo episodio
qui e questo è anche un episodio in link
nella descrizione dell’episodio a quella
serie se ti interessa tutto questo
Detto questo penso che questo episodio sia
da un po ‘di tempo qui, quindi siamo qui
andando a finire proprio qui come ooh
Cliffhanger la prossima settimana stiamo andando a
procedere con l’implementazione della risposta
analizzando in questo in questa API di recupero e
forse stiamo andando anche a noi
aggiusta questa piccola cosa qui così se
il test del paese specificato come fa a
prova negativa forse potresti iniziare
guardando la funzione di simulazione specifica
falsi aiutanti che sono dentro o ingeriscono
perché siamo solo noi a creare una finta
simulare la funzione qui completamente manualmente
sarebbe vaniglia noci JavaScript che possiamo fare
che lo fai spesso ma è anche
bello usare gli aiutanti del jest da fare
le cose un po ‘più strette a volte
potrebbe arrivare a quella prossima volta che hai
ho appena guardato un episodio divertente
funzione li rilascio ogni lunedì
mattina Oh 800 G
squadra se stai guardando dal futuro
puoi controllare l’episodio della prossima settimana
qui e se stai guardando dal presente
ora puoi cliccare qui per iscriverti così
che non ti perdi quell’episodio se
sei davvero smemorato puoi anche
attivare le notifiche in I am nvj until
il prossimo lunedì mattina rimanete sintonizzati
Please follow and like us: