smalljs$molCerca⌘ KDocumentazionePlaygroundConfrontoEcosistemaInformazioniIT
TestingGetting StartedIntroduzioneModello mentalePer iniziareDa TypeScript a view.treeStruttura del progettoStrumentiEssentialsInstallazioneVisteStato e reattivitàRoutingRenderingTestingDeploymentRisoluzione dei problemiDataRecupero datiSchemi di datiGiper BazaMoreVetrinaDa React, Vue e SvelteRicettarioAdvancedPluginMetadati del moduloOfflineViste fantasmaAboutFAQTeamReleaseAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Testing

Una vista $mol è una funzione del suo stato, e questo cambia l'aspetto di un test. Uno scenario utente si scrive come una serie di chiamate ai metodi della vista stessa: imposta la bozza, esegui l'azione, leggi ciò che l'utente vedrebbe.1app.draft( 'Milk' )2app.add()3$mol_assert_equal( app.item_title( 0 ), 'Milk' )Nessun selettore, nessun browser, niente Playwright né Cypress, nessuna attesa. Lo stesso file ti dà anche:Velocità. I test girano in Node in millisecondi; un migliaio richiede circa un minuto. node my/hello/-/node.test.js esegue quelli di un modulo.Zero configurazione. Un hello.test.ts accanto al componente viene raccolto dal builder e compilato in -/node.test.js. L'integrazione continua con mam_build lo esegue e fa fallire la build quando un test fallisce.Sostituzione dei servizi tramite il contesto. Ogni test riceve il proprio $, e tutto ciò che un componente raggiunge attraverso this.$.X si scambia assegnando un sostituto a quel $. È questa la ragione per scrivere this.$.$mol_fetch invece di $mol_fetch: il primo è sostituibile, il secondo no.Tempo simulato. I timer creati attraverso il contesto non scorrono da soli; $mol_after_mock_warp() esegue ciò che è in coda.Un DOM vero quando serve. Il bundle Node porta con sé jsdom, così dom_node() e querySelectorAll funzionano nello stesso file di test.

Uno scenario attraverso i metodi della vista

Prendi la lista di cose da fare dal Ricettario: una stringa draft?, una lista items, un'azione add e un'azione delete. Il suo test vive in my/todo/todo.test.ts:1namespace $ {2 $mol_test({3 4 'add an item and delete it'( $ ) {5 const app = $my_todo.make({ $ })6 7 app.draft( 'Milk' )8 app.add()9 $mol_assert_equal( app.items().length, 1 )10 $mol_assert_equal( app.item_title( 0 ), 'Milk' )11 $mol_assert_equal( app.draft(), '' )12 13 app.delete( 0 )14 $mol_assert_like( app.item_rows(), [] )15 },16 17 'blank draft adds nothing'( $ ) {18 const app = $my_todo.make({ $ })19 20 app.draft( ' ' )21 app.add()22 $mol_assert_like( app.items(), [] )23 },24 25 })26}
Modifica questa pagina su GitHubÈ stato utile?NoPrecedenteRenderingSuccessivoDeployment
In questa paginaUno scenario attraverso i metodi della vistaSostituire un servizio con un mockIl tempoAttraverso il DOMCosa non copre un test in NodeNote praticheAvanti
Type to search the documentation.