Testing in Laravel | How to Write Tests With Laravel | Laravel 8 Testing Tutorial

Sdílet
Vložit
  • čas přidán 6. 09. 2024

Komentáře • 111

  • @codewithdary
    @codewithdary  Před rokem +1

    If you're looking to level up your Laravel skills? My new course "Mastering Laravel 10 Query Builder, Eloquent & Relationships" is the perfect opportunity: www.udemy.com/course/mastering-laravel-10-query-builder-eloquent-relationships/?referralCode=C784C3DB5B8925207FCB

  • @mokolokoa3288
    @mokolokoa3288 Před 2 lety +10

    One thing is missing. How to set up test database. (if you already have some data) So the tests will use different db and then they will wipe out the test db.

  • @amirhosein4728
    @amirhosein4728 Před 3 lety +6

    I am absolutely in love with your channel and I am learning laravel right now because you teach so damn great 😄

    • @codewithdary
      @codewithdary  Před 3 lety

      Thank you so much Amir, appreciate it! :D

  • @haythemdridi8564
    @haythemdridi8564 Před rokem +7

    13:05 its not a bug , you're writing test in the Unit folder , to test http requests you must write tests inside the feature folder

  • @AkhmadRizkii
    @AkhmadRizkii Před 2 lety +1

    This video help me to learn UnitTest easily. Thanks Dary

  • @codewithdary
    @codewithdary  Před 2 lety +3

    LETS CONNECT THROUGH INSTAGRAM.
    instagram.com/codewithdary

  • @atiqurrahman4611
    @atiqurrahman4611 Před rokem +1

    Nice tutorial. Learned a lot, understanding of tests for beginner. Thanks for sharing.

  • @olawaleesan8262
    @olawaleesan8262 Před 3 lety +1

    Wowwww, I really love your videos..Thank u very much.Looking for more Laravel video

  • @muzika5001
    @muzika5001 Před 2 lety +1

    Great! Thank you for introduction in the testing.

  • @mouradeljayi584
    @mouradeljayi584 Před 3 lety +1

    Thank You so much for this great video ..please keep making videos on Laravel Testing !!!!

  • @tomjerry-nx9dl
    @tomjerry-nx9dl Před 4 měsíci

    suppose i have a simple post crud. now my question is how to determine what to test? if i test each validation of a suppose store post, there may be more than 10 validations, then we have to create > 10 test methods? plus there are all these test in this videoes. making the all these test will be like creating the whole project again?

  • @phpisdead
    @phpisdead Před 2 lety +1

    best video about testing , you have only one video about it?

  • @GiaNebieridze
    @GiaNebieridze Před rokem +1

    Movie is beautiful. This scene is phenomenal. I was feeling every grams of my body during this scene. My heart was broken and my stomach was hurting.

  • @yohanvelho
    @yohanvelho Před měsícem

    Awsome video, very well explained!

  • @TristanBailey
    @TristanBailey Před 2 lety +1

    Good clear starter video for testing

  • @user-jr4ru7fe4j
    @user-jr4ru7fe4j Před 18 dny

    TRying to follow. But yours is assuming same versions and having PHPUnit installed correctly... I'm using Windows MS Code... PHP 8.3.7, PHPUnit 11.3.1, Composer 2.7.6 .... I can't run the commands because of version issues. VENDOR is below the root and copying that into the directory gets other errors.

  • @jokovBG
    @jokovBG Před 10 měsíci

    Didnt get the delete user method :( Why we check if a user exists when we always create one before that ? And why at the end we hardcode assertTrue(true), isn't that way the test never possible to fail?

  • @muhammadmuneeb4122
    @muhammadmuneeb4122 Před 2 lety +1

    Really appreciate your hard work, learnt so much, thanks alot 👍

  • @nicolasromero6144
    @nicolasromero6144 Před rokem +1

    Very nice content, if you have tine to upload a video with pest and laravel, anyway thanks

    • @codewithdary
      @codewithdary  Před rokem +1

      Definitely something I will be doing in the future!

  • @FFarenco
    @FFarenco Před rokem +1

    Your content is awesome! Make please a tutorial video with testing on Symfony if it's possible)

    • @codewithdary
      @codewithdary  Před rokem

      Thank you! Definitely something I would love to do.

  • @nhatkhanhtran111
    @nhatkhanhtran111 Před rokem +1

    This video help me a lot, thank you so much😄

  • @GergelyCsermely
    @GergelyCsermely Před 3 lety +1

    Thanks, It is excellen to get code examples too. Thanks.

  • @user-bx8cw6jz4t
    @user-bx8cw6jz4t Před 16 dny

    your a king , thank u very much

  • @TheJimboCOD
    @TheJimboCOD Před 3 lety +5

    Great video, helpful as always. Would you think about doing a series on building a REST API in laravel? I would absolutely love that

    • @codewithdary
      @codewithdary  Před 3 lety

      I have a crash course available: czcams.com/video/xvqPEEpRBJ4/video.html

  • @amirtardasti39
    @amirtardasti39 Před 2 lety

    This is an easy video to learn laravel test

  • @jonmason4127
    @jonmason4127 Před 2 lety +1

    I thought regression testing was making sure existing functionality doesn't break when new functionality is released. Hence the term "regression".

    • @codewithdary
      @codewithdary  Před 2 lety

      Regression testing basically perform after completing of retesting. The main purpose of regression testing is to check the impact of modification. Whether still our application is acting stable.

  • @LazyJoeyDesigns
    @LazyJoeyDesigns Před 2 lety +1

    hi dude, I believe that there is an error in the code you wrote for the user delete testing.. you are creating the user with the factory, then checking if the user exists with an if statement.. but in case that statement won't be true, the test will assert true regardless.. I'm not sure if you get what I mean.. as far as I know test shouldn't contain any if statements ?!

  • @kasidissjumrus3397
    @kasidissjumrus3397 Před 3 lety

    Thank you for greate video
    PS. 13:00 This UserTest class was created with --unit option then Laravel extend from PHPUnit\Framework\TestCase. Without --unit, it will extend from Tests\TestCase.

    • @codewithdary
      @codewithdary  Před 3 lety

      Didn't I mention that? Might have forgotten! Thank you anyways! :)

    • @albarranaufalaerdanto8502
      @albarranaufalaerdanto8502 Před 2 lety +2

      Yeah i think it supposed to use UserTest inside Feature folder, right?

  • @joshbarros1995
    @joshbarros1995 Před 3 lety +2

    Wonderful! I love your videos! Please make some about GraphQL (Lighthouse)

    • @codewithdary
      @codewithdary  Před 3 lety +1

      Thank you Josue! I'll keep that in the back of my mind! :)

  • @hayder775
    @hayder775 Před 5 měsíci

    Thanks for the helpful video

  • @devops6414
    @devops6414 Před rokem +1

    love it. waiting for new one

  • @shinyakoizumi601
    @shinyakoizumi601 Před rokem +1

    Thanks for the video what do you use to show current path in the terminal?

  • @houssemflutter2722
    @houssemflutter2722 Před 3 lety +1

    Great tutorial , realy you are the best .👌👍

  • @two-zero
    @two-zero Před 2 lety +1

    Thank you for this tutorial!

  • @2010sparsh
    @2010sparsh Před rokem +1

    Can it do functional testing ?

    • @codewithdary
      @codewithdary  Před rokem

      Yes, PHPUnit can be used for functional testing in PHP. It allows for the creation of automated tests that simulate user interactions with the application and can test the application's functionality as a whole.

  • @chocinspired
    @chocinspired Před 2 lety +1

    Please any idea why my php artisan test gives this? I am using Lumen.
    >Command "test" is not defined.
    >Do you want to run "make:test" instead? (yes/no) [no]:

    • @codewithdary
      @codewithdary  Před 2 lety

      Try running composer dump-autoload in case you upgraded recently.

    • @chocinspired
      @chocinspired Před 2 lety

      @@codewithdary just did that but same thing

  • @asim-gandu-phenchod
    @asim-gandu-phenchod Před 2 lety +1

    Great stuff as always

  • @carlosf.2927
    @carlosf.2927 Před 2 lety +1

    Great video. Thanks

  • @saraelotmani5570
    @saraelotmani5570 Před 4 měsíci

    maaan thank you 💛

  • @techsuniversity7386
    @techsuniversity7386 Před 3 lety +1

    Great work 💙👍

  • @anuradhawithanage9861
    @anuradhawithanage9861 Před 2 lety +1

    Thanks a lot, really helpful

  • @sagar8234
    @sagar8234 Před 2 lety +1

    "Command test is not defined" while using php artisan test.

    • @codewithdary
      @codewithdary  Před 2 lety

      Try running composer dump-autoload in case you upgraded recently. Otherwise try to delete your vendor directory and try running composer install to see if that helps

  • @sumayazaman8862
    @sumayazaman8862 Před 3 lety +1

    Thanks a lot. It helped me .....

  • @danialhajirajabi4286
    @danialhajirajabi4286 Před 2 lety +1

    not complete for a tutorial. but good for beginners. 🙏

  • @shanmugapriyam3163
    @shanmugapriyam3163 Před 2 lety +1

    Part2 - Laravel unit testing video link please ?

    • @codewithdary
      @codewithdary  Před 2 lety

      There is no part two. Probably in the future :)

  • @prezire
    @prezire Před 2 lety +1

    I noticed feature tests use the same DB during tests. is this correct? or should there be another separate DB to run tests?

    • @codewithdary
      @codewithdary  Před 2 lety

      It is yes, you need to test functionalities that interacts with the database to make sure that your app works on production

    • @prezire
      @prezire Před 2 lety

      @@codewithdary that's odd. i think a better approach is to clone the existing DB schema and append _test to the DB name. then delete that DB after the tests are done

    • @codewithdary
      @codewithdary  Před 2 lety

      But why? You won't actually change data because your just writing tests.

    • @prezire
      @prezire Před 2 lety

      @@codewithdary but there's an option for data persistence during tests, right? for example i want to test the relations. i would send API json with a mix of bad and good test data, and i want to count that only good data are the ones that are actually saved, right? i could be wrong but other frameworks use a cloned DB for tests and then drops that DB once the tests are done, so your current DB is untouched. in laravel, it's like setting the flag --env=.env.testing, using a test DB. although other frameworks does it implicitely.

    • @pauldrage9931
      @pauldrage9931 Před 2 lety

      @@codewithdary I'd ordinarily agree with you - and I think you've done a great job putting this video together - but you are saving data to the db at 20:04 ( czcams.com/video/UjA-16diixc/video.html ) . Laravel has a doc on testing an it does state that it will auto create a testing db and tear it down after tests..

  • @nbahighlights2876
    @nbahighlights2876 Před 2 lety +1

    Hi, Dary, I came across your channel, when I tried to find a Sanctum puzzle. The puzzle is when using Sanctum, it will generate a token, then send a request with the correct token to backend, it will work, it is great. But if I modify the token to make the wrong one, then send a request with the postman, it won't show any error, it will redirect to login page directly. So do you know how show an error message when send a wrong token to the backend?

    • @leinyuyetiane
      @leinyuyetiane Před rokem

      This is late but in case any one still needs it, in your middleware, you should specify the 'auth:sanctum' middleware for your api

  • @Ramziddin_Rustamovv
    @Ramziddin_Rustamovv Před 2 lety

    Hi , i have questions about testing ! Why it is important testing.

    • @codewithdary
      @codewithdary  Před 2 lety +1

      Hi Ramziddin, I found a pretty interesting comment on the internet about testing:
      what do you do when you write code without tests? after almost every change you run the whole application, you wait until it starts, you go to the page you've just changed, you input some data, you press the button and you check... if the answer is correct, if the popup appeared, if the mail was sent and so on. you DO test. but you just do it manually. and you repeat all those tests after every change. and if you don't repeat them then you will find bugs on production and you will have to correct them quickly under stress and you will have to again check if you've fixed them correctly. and you will have to do it manually...
      Hope this makes sense.

  • @Saleh2
    @Saleh2 Před 2 lety

    if I want to test function or Controller I already created did i need to make php artisan make:test UnitTest and copy my function in it ? and same question with test database

    • @codewithdary
      @codewithdary  Před 2 lety +1

      You should be verifying responses in tests, and not the entire controller you created.
      If you are using the database, you should check if the right access methods are triggered.

    • @Saleh2
      @Saleh2 Před 2 lety +1

      @@codewithdary
      thank you 👍🏼

    • @Saleh2
      @Saleh2 Před 2 lety +1

      @@codewithdary
      I have problem with http test when I try it it give this error Failed asserting that two strings are equal. and aim an arrow to response->assertRedirect('/signin');

  • @geraldterencio8635
    @geraldterencio8635 Před 2 lety

    Is it possible to execute the command in CMD because Im using sublime as my texteditor

    • @codewithdary
      @codewithdary  Před 2 lety

      Yes definitely. You can also install an extension named “terminus” which gives you a CMD in sublime text

  • @victorhugosens4443
    @victorhugosens4443 Před 2 lety +1

    you are legend

  • @AMoktar
    @AMoktar Před 2 lety +1

    Thanks bro

  • @pawemieleszkiewicz1602
    @pawemieleszkiewicz1602 Před 2 lety +1

    What is your ZSH theme?

    • @codewithdary
      @codewithdary  Před 2 lety

      I have a complete video where I setup my terminal! It's under the Laravel video series.

  • @dfordemo981
    @dfordemo981 Před 3 lety

    i came here from your github

  • @m7mmadomar
    @m7mmadomar Před 2 lety

    What is your theme 👍👍👍👍

    • @codewithdary
      @codewithdary  Před 2 lety

      I installed a extension called Material Theme, it was one of the options!

  • @aruppaul1468
    @aruppaul1468 Před 2 lety

    please make laravel react based project

  • @lijinv674
    @lijinv674 Před 3 lety +1

    👍

  • @webspot17530
    @webspot17530 Před 2 lety

    Not very beneficial