Learn Vitest and Testing Library In 40 Minutes

Поделиться
HTML-код
  • Опубликовано: 6 янв 2025

Комментарии • 62

  • @ProgramWithErik
    @ProgramWithErik  2 года назад +4

    👉 Want to win prizes Break the Code 2!? Play for free here - go.tech/pwebtc

    • @abuzain859
      @abuzain859 Год назад

      Hey Erik !
      I watched your video and it is awesome . Now i am using the Vitest in my project but I am getting this error :
      ( Not implemented: window.computedStyle(elt, pseudoElt)
      at module.exports (C:\Users\Faizan\Desktop\full-stack
      ode_modules\jsdom\lib\jsdom\browser
      ot-implemented.js:9:17) )

  • @MikeMcBride1007
    @MikeMcBride1007 2 года назад +5

    This is easily the best tutorial I’ve found on getting tests set up in a Vue 3 app with Vite and testing library. Really great stuff, thanks so much!

  • @someonelastname8175
    @someonelastname8175 Месяц назад

    Thanks. Learnt a lot about mocking out service end points as I migrate from webpack, mocha, chai, jest over to vite, vitest, esbuild etc.

  • @Dryzark
    @Dryzark 2 года назад +4

    Thank you for this!
    Exactly the video I needed. 👍

  • @mohammadrashid1994
    @mohammadrashid1994 5 месяцев назад

    Thank you for the video man. I desperately needed it.

  • @manchineel
    @manchineel 2 года назад

    This was very helpful. I am trying to figure out marking and this made it a lot more clear

  • @caiovinicius7871
    @caiovinicius7871 2 года назад +3

    GOD BLESS YOU!
    THAT'S WHAT I NEEDED FOR MONTHS!

  • @hamidzangiabadi3899
    @hamidzangiabadi3899 Год назад

    best tutorial for testing with vitest

  • @abuzain859
    @abuzain859 Год назад

    Hey Erik!
    I watched your video and it is awesome . Now i am using the Vitest in my project but I am getting this error :
    ( Not implemented: window.computedStyle(elt, pseudoElt)
    at module.exports (C:\Users\Faizan\Desktop\full-stack
    ode_modules\jsdom\lib\jsdom\browser
    ot-implemented.js:9:17) )

  • @ravikalkote1729
    @ravikalkote1729 7 месяцев назад

    I am getting below error
    Vitest error "SyntaxError: Need to install with `app.use` function" when using vue-i18n plugin for Vue3

  • @NikosKatsikanis
    @NikosKatsikanis 2 года назад

    anyone got this to with with react 17? I'm getting Error: Cannot find module 'react-dom/client'
    upgrading to r18 removes this

  • @sibabalejoja9741
    @sibabalejoja9741 Год назад

    What VS Code plugin are you using for auto completion?

  • @SuperQuwertz
    @SuperQuwertz 2 года назад +1

    Thank you for this video!
    For svelte it would be so awesome to have a "test" tag in the file where you put all the tests

  • @mcoria74
    @mcoria74 Год назад

    Very helpful, thanks a lot for the video, regards from México :)

  • @maxigarrett3121
    @maxigarrett3121 2 года назад

    muchas gracias por el video sos el unico que explica como hacer un mock.. saludos desde argentina

  • @yousoufessa2438
    @yousoufessa2438 2 года назад

    Render method throws error invalid value in weak type set

  • @hlulanibaloyi5503
    @hlulanibaloyi5503 9 месяцев назад

    Hi, I'm using Lit and on my setup I get a "ReferenceError: customElements is not defined
    ❯ node_modules/@lit/reactive-element/src/decorators/custom-element.ts:60:", wondering if I'm missing something?

  • @hanes2
    @hanes2 2 года назад

    this render function doesn't work. Cannot find module 'vue-template-compiler', which after I tried to install that one, I got dependency issue of being linked to a vue2.6 something.

  • @henryfougere8677
    @henryfougere8677 2 года назад

    it looks like it's not actually loading the mockPokemon during the test. It's still using the real rest call. Can you check?

  • @erickzelaya3651
    @erickzelaya3651 2 года назад +1

    Hey Erik, what is the use case of mocking the API? What happens if the API response is not what the frontend expects, in that case the test will always passed because you are using the mock data instead of getting the actual API response.

    • @woalk
      @woalk 2 года назад +2

      You might not want to bombard an actual production API with test requests, especially when they are run automatically multiple times per day.

    • @eNk91
      @eNk91 2 года назад +1

      You could probably just write a script to generate the mock files by calling the actual API. Then just run that script / collection process on whatever schedule you’re comfortable with. That gives you the best of both worlds as far as not blasting the production API and still being able to catch changes in a reasonable timeframe if they happen.

    • @DodaGarcia
      @DodaGarcia Год назад

      Ideally you have a separate test for the "contracts" with all APIs that would catch that, possibly running on a schedule or as part of a merging/deployment step since APIs don't change that often.
      That not only avoids burdening other parts of the code with external API calls, which are slow and expensive, but it also keeps those concerns separate. Your presentational front-end components should worry mostly about taking data that *does* have the expected structure and content and presenting it in a certain way.

  • @NikosKatsikanis
    @NikosKatsikanis 2 года назад

    anyone got history mocking to work with vitest and jsdom?

  • @richcoleman4244
    @richcoleman4244 2 года назад

    please never stop

  • @masibulelemgoqi981
    @masibulelemgoqi981 2 года назад

    Best explanation... how can one get your vscode setup?

  • @danieltkach2330
    @danieltkach2330 Год назад +2

    This is amazing, but I'm still confused by the Vue element here. Can you do one for React please please please?

  • @misbahansori
    @misbahansori 2 года назад

    How to console.log variable in vitest? I have tried to do that but it won't show in the terminal? I just want to know the value of the variable.

  • @yabuking84
    @yabuking84 2 года назад

    How does screen and render works? I see that you dont assign a variable to render?

  • @AntonioGomes-tu4yf
    @AntonioGomes-tu4yf Год назад

    Thank you, friend.

  • @ЄвгенійБабенко
    @ЄвгенійБабенко 8 месяцев назад

    Thank you. Greate video

  • @despertaweb4793
    @despertaweb4793 Год назад

    I don't see the point of installing testing-library. I you check the Expect API of Vitest is waaaay intuitive.
    Cound you explain why you choose testing-lib?

  • @SecondKing_2K
    @SecondKing_2K 2 года назад

    Sir I working on a vue3 project, now chunk-vendor.js file is too large. Is there any way I can reduce the file size?

    • @destabiliseus
      @destabiliseus 2 года назад +1

      Try to install and run vite-bundle-analyzer, it visualize all your dependencies so you can see what and how much it weights. Also if you have a heavy dependencies you should load (import) them dynamically, meaning only when you really needed.

    • @SecondKing_2K
      @SecondKing_2K 2 года назад

      @@destabiliseus thankyou sir

  • @edgarasspiridonovas4978
    @edgarasspiridonovas4978 2 года назад

    I would suggest make video on testing library and in compintion of something more complex like most used vuetify or element UI 3rd parry libraries covering whole component and making it difficult for new developers to test their code, mostly when Vue Testing Library itself does not really provide clear way to do it.

  • @TheZhouh12
    @TheZhouh12 2 года назад

    Testing Library already does what Vitest offers, so what's the reason to use Vitest over Testing Library?

    • @edgarasspiridonovas4978
      @edgarasspiridonovas4978 2 года назад +2

      Vitest is insteard of test runner (for example insteard of Jest) The Testing Library serves for different purpose.. You use it together with Vitest.

  • @ehutch79
    @ehutch79 2 года назад +1

    Does VSCode need to be this zoomed in? I feel like if you're using this for a tutorial you can wait for hd video to load to read the text?

    • @ProgramWithErik
      @ProgramWithErik  2 года назад

      Yeah, I recorded up to 4k, so if you can't see it you can go to that format. I do have my VSCode font upped up quite a bit already.

    • @ehutch79
      @ehutch79 2 года назад +1

      @@ProgramWithErik I meant going the other way. Having so little code on the screen due to the large font size is a detriment. It's hard to tell what's going on as soon as there's anything significant going on. Maybe two hits of ctrl- would be better?

    • @CarnSarnit
      @CarnSarnit 2 года назад

      @@ehutch79 Eh, I prefer larger text over small. On other channels, small text can be impossible to read if a wifi hiccup drops the quality below 1080. And while I don't watch coding videos on mobile, I imagine small text would suck on small screens.

    • @michaelpumo83
      @michaelpumo83 2 года назад +1

      Many people watch these kind of videos on their phones (I do too). It makes it easier to see. Otherwise the code is far too tiny.

    • @RezaMohseni
      @RezaMohseni 2 года назад

      @@michaelpumo83
      He's sharing his desktop, it's not really suited to watch on a small screen.
      Either way, I too feel its way too zoomed in, to the point it gets in the way of having an overview and learning.

  • @DedicatedManagers
    @DedicatedManagers 2 года назад

    Your videos get more and more professional looking. You’ve got great audio and fantastically lighted background. You might want to work on the lighting on your face, though. Your forehead is oversaturated and the lighting makes your eyes look shadowed dark, which gives you a Herman Munster look. Maybe try diffusing the lighting a bit more and/or lower it (or add some lighting from the bottom).

  • @hanes2
    @hanes2 2 года назад

    im getting a lot of errors, I assume it's because I don't write typescript.

  • @rakibullahsazib1268
    @rakibullahsazib1268 2 года назад

    As a vue developer I don't see any value in TestingLibrary. Vue test utils is awesome, specially the documentation. I don't get why it is being promoted in the vue docs. May be it is good for developers working with react or svelte.

    • @edgarasspiridonovas4978
      @edgarasspiridonovas4978 2 года назад +1

      Its good with vue aswell, it has a bit less complexity and it strives for simplicity for example you avoid even testing another child component is in the component you test and focus on unit/comoponent it self where as vue testing utils does allow you to do it what is kind of getting into integration test..

  • @devKazuto
    @devKazuto 2 года назад +2

    Pokémon is already the plural. It's the abbreviation for `Pocket Monsters` 😅

  • @vasilipaspalas
    @vasilipaspalas Год назад +2

    good tutorial as I think the official documentation of Vitest is only suitable for referencing. However, and this is not on Eric, I don't like the fact you have to install so many extra's to get some basic testing.. and the mocking part made my eyes, ears and heart bleed. It seems so cumbersome. I would rather have vitest being a bundle and giving us a concise way of testing that should, lets be fair, only be a a side quest at best...

  • @satsite13
    @satsite13 2 года назад

    ... does anyone else hear Eric from Veritasium?

    • @ProgramWithErik
      @ProgramWithErik  2 года назад

      Ha! Yes, that's the music I used. Do you like it>

  • @SpicySauCay
    @SpicySauCay 10 месяцев назад

    veritasium

  • @szymeo69
    @szymeo69 2 года назад

    clueless

  • @hanes2
    @hanes2 2 года назад

    Apparently, now it's "import {render, screen} from "@vue/test-utils";